SqlDataReader.Read メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
SqlDataReader を次のレコードに進めます。
public:
override bool Read();
public override bool Read ();
override this.Read : unit -> bool
Public Overrides Function Read () As Boolean
戻り値
次の行が存在する場合は、true
。それ以外の場合は、false
。
実装
例外
SQL Server がコマンド テキストの実行中にエラーを返しました。
例
次の例では、 、 SqlConnection、 SqlCommandおよび を作成します SqlDataReader。 この例では、データを読み取り、コンソール ウィンドウに書き出します。 その後、コードは を SqlDataReader閉じます。 は SqlConnection 、コード ブロックの末尾で自動的に using
閉じられます。
using Microsoft.Data.SqlClient;
class Program
{
static void Main()
{
string str = "Data Source=(local);Initial Catalog=Northwind;"
+ "Integrated Security=SSPI";
ReadOrderData(str);
}
private static void ReadOrderData(string connectionString)
{
string queryString =
"SELECT OrderID, CustomerID FROM dbo.Orders;";
using (SqlConnection connection =
new SqlConnection(connectionString))
{
SqlCommand command =
new SqlCommand(queryString, connection);
connection.Open();
SqlDataReader reader = command.ExecuteReader();
// Call Read before accessing data.
while (reader.Read())
{
ReadSingleRow((IDataRecord)reader);
}
// Call Close when done reading.
reader.Close();
}
}
private static void ReadSingleRow(IDataRecord record)
{
Console.WriteLine(String.Format("{0}, {1}", record[0], record[1]));
}
}
注釈
の既定の SqlDataReader 位置は、最初のレコードの前です。 したがって、 を呼び出 Read して、データへのアクセスを開始する必要があります。
関連付けられているSqlConnectionごとに一度に 1 つだけ開く場合があり、最初の 1 SqlDataReader
つが閉じられるまで、別のファイルを開こうとすると失敗します。 同様に、 が使用されている間SqlDataReader
は、 を呼び出Closeすまで、関連付けられた SqlConnection
がビジー状態になります。