ページの先頭行へ戻る
Symfoware Server V11.1.0 アプリケーション開発ガイド(.NET Data Provider編)
FUJITSU Software

5.3.4 SymfowareDataReaderクラス

SymfowareDataReaderクラスで拡張したAPIは以下のとおりです。

READメソッド

SymfowareDataReaderを次のレコードに進めます。

記述形式
[C#]
public override bool Read();
[Visual Basic .NET]
Public Overrides Function Read As Boolean
戻り値

次の行がある場合はtrue、それ以外の場合はfalse。

例外

例外の種類

条件

InvalidOperationException

カレントデータリーダーがクローズされています。または、コネクションが切断されています。

symfowareException

データ送信中にサーバとの通信が切断されました。

解説

SymfowareDataReaderの規定の位置は、最初のレコードの前です。そのため、データへのアクセスを開始するには、Readメソッドを呼び出す必要があります。

関連付けられたSymfowareConnectionで開くことのできるSymfowareDataReader は、一度に1 つだけです。データリーダーを閉じる前に別のデータリーダーを開くことはできません。同様に、 SymfowareDataReaderの使用中は、関連付けられたSymfowareConnectionは、そのデータリーダーによって使用されるため、Closeが呼び出されるまではビジー状態になります。

使用例
[C#]
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)
    {
       // エラー処理ルーチンを記述
    }
}
[Visual Basic .NET]
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