SqlDataReader クラス
アセンブリ: System.Data (system.data.dll 内)

Public Class SqlDataReader Inherits DbDataReader Implements IDataReader, IDisposable, IDataRecord
public class SqlDataReader : DbDataReader, IDataReader, IDisposable, IDataRecord
public class SqlDataReader extends DbDataReader implements IDataReader, IDisposable, IDataRecord
public class SqlDataReader extends DbDataReader implements IDataReader, IDisposable, IDataRecord

SqlDataReader を作成するには、コンストラクタを直接使用せずに、SqlCommand オブジェクトの ExecuteReader メソッドを呼び出す必要があります。
SqlDataReader の使用中は、関連付けられた SqlConnection は、その SqlDataReader によって使用されるためビジー状態になります。この間、SqlConnection に対して、閉じる以外の操作は実行できません。SqlDataReader の Close メソッドを呼び出すまでこの状態が続きます。たとえば、Close を呼び出すまでは、出力パラメータは取得できません。
データの読み取り中に別のプロセスまたはスレッドが結果セットに加えた変更が、SqlDataReader のユーザーに表示されることがあります。ただし、実際に表示されるかどうかは、タイミングによって決まります。
SqlDataReader を閉じた後に呼び出すことができるのは、IsClosed プロパティと RecordsAffected プロパティだけです。RecordsAffected プロパティは、SqlDataReader が存在している間はいつでも呼び出すことできますが、正しい戻り値を得るために、RecordsAffected の値を取得する前には、必ず Close を呼び出してください。
![]() |
---|
パフォーマンスを向上するために、SqlDataReader は不要なオブジェクトまたは不要なデータのコピーを作成しません。そのため、GetValue などのメソッドを複数回呼び出すと、同じオブジェクトへの参照が返されます。GetValue などのメソッドから返されるオブジェクトの基の値を変更する場合は、注意してください。 |

SqlConnection、SqlCommand、および SqlDataReader を作成する例を次に示します。この例では、データを読み取り、コンソール ウィンドウに出力します。次に、SqlDataReader を閉じます。SqlConnection は、using コード ブロックの末尾で自動的に閉じられます。
Private Sub ReadOrderData(ByVal connectionString As String) Dim queryString As String = _ "SELECT OrderID, CustomerID FROM dbo.Orders;" Using connection As New SqlConnection(connectionString) Dim command As New SqlCommand(queryString, connection) connection.Open() Dim reader As SqlDataReader = command.ExecuteReader() ' Call Read before accessing data. While reader.Read() Console.WriteLine(String.Format("{0}, {1}", _ reader(0), reader(1))) End While ' Call Close when done reading. reader.Close() End Using End Sub
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()) { Console.WriteLine(String.Format("{0}, {1}", reader[0], reader[1])); } // Call Close when done reading. reader.Close(); } }

System.MarshalByRefObject
System.Data.Common.DbDataReader
System.Data.SqlClient.SqlDataReader


Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からSqlDataReader クラスを検索する場合は、下記のリンクをクリックしてください。

- SqlDataReader クラスのページへのリンク