SymfowareDataReaderクラスで拡張したAPIは以下のとおりです。
SymfowareDataReaderを次のレコードに進めます。
public override bool Read();
Public Overrides Function Read As Boolean
次の行がある場合はtrue、それ以外の場合はfalse。
例外の種類 | 条件 |
|---|---|
InvalidOperationException | カレントデータリーダーがクローズされています。または、コネクションが切断されています。 |
symfowareException | データ送信中にサーバとの通信が切断されました。 |
SymfowareDataReaderの規定の位置は、最初のレコードの前です。そのため、データへのアクセスを開始するには、Readメソッドを呼び出す必要があります。
関連付けられたSymfowareConnectionで開くことのできるSymfowareDataReader は、一度に1 つだけです。データリーダーを閉じる前に別のデータリーダーを開くことはできません。同様に、 SymfowareDataReaderの使用中は、関連付けられたSymfowareConnectionは、そのデータリーダーによって使用されるため、Closeが呼び出されるまではビジー状態になります。
public void ReadMyData(string myConnString)
{
strring mySelectQuery = "SELECT OrderID, CustomerID FROM General.Orders";
try
{
SymfowareConnection myConnection = new SymfowareConnection(myConnString);
SymfowareCommand myCommand = new
SymfowareCommand(mySelectQuery,myConnection);
myConnection.Open();
SymfowareDataReader myReader;
myReader = myCommand.ExecuteReader();
// データへのアクセス前にReadメソッドを呼び出す
while (myReader.Read()) {
Console.WriteLine(myReader.GetInt32(0) + ", " + myReader.GetString(1));
}
// SymfowareDataReaderをクローズする
myReader.Close();
// コネクションをクローズする
myConnection.Close();
}
catch (symfowareException ex)
{
// エラー処理ルーチンを記述
}
}Public Sub ReadMyData(ByVal connectionString As String)
Dim mySelectQuery As String = _
"SELECT OrderID, CustomerID FROM General.Orders;"
Using myConnection As New SymfowareConnection(connectionString)
Dim myCommand As New SymfowareCommand(mySelectQuery, myConnection)
myConnection.Open()
Dim myReader As SymfowareDataReader = myCommand.ExecuteReader()
'データへのアクセス前にReadメソッドを呼び出す
While myReader.Read()
Console.WriteLine(String.Format("{0}, {1}", _
myReader(0), myReader(1)))
End While
'SymfowareDataReaderをクローズする
myReader.Close()
End Using
End Sub