■■■

2016年4月6日水曜日

【DB】OracleClientでオラクルデータベースを操作する方法(検索、更新、削除)

【DB】OracleClientでオラクルデータベースを操作する方法(検索、更新、削除)

VB.NET

Imports System.Data.OracleClient
' ********************************************************
' * 実行
' ********************************************************
Sub Main()

Dim myCon As OracleConnection = New OracleConnection()
Dim myCommand As OracleCommand = New OracleCommand()
Dim myReader As OracleDataReader = Nothing

Dim sv As String = "night/xe"
Dim user As String = "lightbox"
Dim pass As String = "lightbox"

Dim myConnectString As String = _
"Server=" + sv + ";" + _
"User ID=" + user + ";" + _
"Password=" + pass + ";"

myCon.ConnectionString = myConnectString

' **************************************
' * 接続
' **************************************
Console.WriteLine("<pre>処理を開始しました")

Try
myCon.Open()
myCommand.Connection = myCon
Catch ex As Exception
myCon = Nothing
Console.WriteLine("接続エラーです")
Console.WriteLine("接続文字列=>" + myConnectString)
Console.WriteLine("システムのメッセージ=" + ex.Message)
Console.WriteLine("</pre>")
Exit Sub
End Try

Console.WriteLine("接続されました")


' **************************************
' * レコードセット取得
' **************************************
Dim Query As String = "select * from 社員マスタ"

myCommand.CommandText = Query

Try
myReader = myCommand.ExecuteReader()
Catch ex As Exception
Console.WriteLine("OracleDataReader 作成エラーです")
Console.WriteLine("システムのメッセージ=" + ex.Message)

myCon.Close()
Console.WriteLine("接続を閉じました")
Console.WriteLine("</pre>")
Exit Sub
End Try

' **************************************
' * データ取得
' **************************************
Dim bRead As Boolean = myReader.Read()
Dim nField As Integer = myReader.FieldCount
Dim nIdx As Integer
Dim strField As String

Console.WriteLine("<table>")
Do While bRead

Console.WriteLine("<tr>")

For nIdx = 0 to nField - 1
if myReader.IsDBNull(nIdx) then
strField = "<td></td>"
else
strField = "<td>" + myReader.GetValue(nIdx).ToString() + "</td>"
end if
Console.Write(strField)
Next
Console.WriteLine("")

Console.WriteLine("</tr>")

bRead = myReader.Read()
Loop
Console.WriteLine("</table>")


' **************************************
' * 接続解除
' **************************************
' 読み取りオブジェクトが閉じていない場合は、閉じる
If Not myReader Is Nothing Then
If Not myReader.IsClosed Then
myReader.Close()
Console.WriteLine("OracleDataReader を閉じました")
End If
End If

If Not myCon Is Nothing Then
' 接続を閉じる
If myCon.State = System.Data.ConnectionState.Open Then
myCon.Close()
Console.WriteLine("接続を閉じました")
End If
End If

Console.WriteLine("処理を終了しました</pre>")

End Sub

C#

using System.Data.OracleClient;
// ********************************************************
// * 実行
// ********************************************************

public void Main()
{
OracleConnection myCon = new OracleConnection();
OracleCommand myCommand = new OracleCommand();
OracleDataReader myReader = null;

string sv = "night/xe";
string user = "lightbox";
string pass = "lightbox";

string myConnectString = "Server=" + sv + ";" + "User ID=" + user + ";" + "Password=" + pass + ";";

myCon.ConnectionString = myConnectString;

// **************************************
// * 接続
// **************************************
Console.WriteLine("<pre>処理を開始しました");

try {
myCon.Open();
myCommand.Connection = myCon;
} catch (Exception ex) {
myCon = null;
Console.WriteLine("接続エラーです");
Console.WriteLine("接続文字列=>" + myConnectString);
Console.WriteLine("システムのメッセージ=" + ex.Message);
Console.WriteLine("</pre>");
return;
}

Console.WriteLine("接続されました");


// **************************************
// * レコードセット取得
// **************************************
string Query = "select * from 社員マスタ";

myCommand.CommandText = Query;

try {
myReader = myCommand.ExecuteReader();
} catch (Exception ex) {
Console.WriteLine("OracleDataReader 作成エラーです");
Console.WriteLine("システムのメッセージ=" + ex.Message);

myCon.Close();
Console.WriteLine("接続を閉じました");
Console.WriteLine("</pre>");
return;
}

// **************************************
// * データ取得
// **************************************
bool bRead = myReader.Read();
int nField = myReader.FieldCount;
int nIdx = 0;
string strField = null;

Console.WriteLine("<table>");

while (bRead) {
Console.WriteLine("<tr>");

for (nIdx = 0; nIdx <= nField - 1; nIdx++) {
if (myReader.IsDBNull(nIdx)) {
strField = "<td></td>";
} else {
strField = "<td>" + myReader.GetValue(nIdx).ToString() + "</td>";
}
Console.Write(strField);
}
Console.WriteLine("");

Console.WriteLine("</tr>");

bRead = myReader.Read();
}
Console.WriteLine("</table>");


// **************************************
// * 接続解除
// **************************************
// 読み取りオブジェクトが閉じていない場合は、閉じる
if ((myReader != null)) {
if (!myReader.IsClosed) {
myReader.Close();
Console.WriteLine("OracleDataReader を閉じました");
}
}

if ((myCon != null)) {
// 接続を閉じる
if (myCon.State == System.Data.ConnectionState.Open) {
myCon.Close();
Console.WriteLine("接続を閉じました");
}
}

Console.WriteLine("処理を終了しました</pre>");

}

■■■