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