次の方法で共有


SqlDataAdapter クラス

DataSet へのデータの格納および SQL Server データベースの更新に使用される、一連のデータ コマンドおよびデータベース接続を表します。このクラスは継承できません。

この型のすべてのメンバの一覧については、SqlDataAdapter メンバ を参照してください。

System.Object
   System.MarshalByRefObject
      System.ComponentModel.Component
         System.Data.Common.DataAdapter
            System.Data.Common.DbDataAdapter
               System.Data.SqlClient.SqlDataAdapter

NotInheritable Public Class SqlDataAdapter
   Inherits DbDataAdapter
   Implements IDbDataAdapter
[C#]
public sealed class SqlDataAdapter : DbDataAdapter, IDbDataAdapter
[C++]
public __gc __sealed class SqlDataAdapter : public DbDataAdapter,
   IDbDataAdapter
[JScript]
public class SqlDataAdapter extends DbDataAdapter implements
   IDbDataAdapter

スレッドセーフ

この型の public static (Visual Basicでは Shared) のすべてのメンバは、マルチスレッド操作で安全に使用できます。インスタンスのメンバの場合は、スレッドセーフであるとは限りません。

解説

SqlDataAdapter は、 DataSet と SQL Server の間でデータを取得および保存するための、ブリッジの役割を果たします。 SqlDataAdapter は、このブリッジを提供するために、データ ソースに対して適切な Transact-SQL ステートメントを使用して、 DataSet 内のデータをデータ ソース内のデータと一致するように変更する Fill と、データ ソース内のデータを DataSet 内のデータと一致するように変更する Update で、割り当てを行います。

SqlDataAdapter は、 DataSet にデータを読み込むときに、返されたデータを格納するテーブルおよび列が存在しない場合は、それらを作成します。ただし、 MissingSchemaAction プロパティを AddWithKey に設定しない限り、暗黙的に作成されたスキーマには主キー情報は設定されません。 DataSet にデータを格納する前に、 FillSchema を使用して、主キー情報を含むスキーマを SqlDataAdapter に作成させることもできます。詳細については、「 DataSet への既存の制約の追加 」を参照してください。

SqlDataAdapter は、Microsoft SQL Server データベースへの接続のパフォーマンスを向上させるために、 SqlConnection および SqlCommand と組み合わせて使用します。

SqlDataAdapter には、データの読み込みと更新を効率的に行うために、 SelectCommandInsertCommandDeleteCommandUpdateCommandTableMappings の各プロパティも用意されています。

SqlDataAdapter のインスタンスを作成すると、読み書き可能プロパティが初期値に設定されます。これらの初期値の一覧については、 SqlDataAdapter コンストラクタのトピックを参照してください。

使用例

[Visual Basic, C#, C++] SqlCommandSqlDataAdapter 、および SqlConnection を使用して、データベースからレコードを選択し、選択した行を DataSet に格納する例を次に示します。この例では、続いて、データを格納した DataSet を返します。このメソッドには、初期化済みの DataSet 、接続文字列、および SQL SELECT ステートメントのクエリ文字列が渡されます。

 
Public Function SelectSqlSrvRows(dataSet As DataSet, connection As String, query As String) As DataSet
    Dim conn As New SqlConnection(connection)
    Dim adapter As New SqlDataAdapter()
    adapter.SelectCommand = new SqlCommand(query, conn)
    adapter.Fill(dataset)
    Return dataset
End Function

[C#] 
public DataSet SelectSqlSrvRows(DataSet dataset,string connection,string query) 
{
    SqlConnection conn = new SqlConnection(connection);
    SqlDataAdapter adapter = new SqlDataAdapter();
    adapter.SelectCommand = new SqlCommand(query, conn);
    adapter.Fill(dataset);
    return dataset;
}


[C++] 
public:
DataSet* SelectSqlSrvRows(DataSet* dataset,String* connection,String* query) 
{
    SqlConnection* conn = new SqlConnection(connection);
    SqlDataAdapter* adapter = new SqlDataAdapter();
    adapter->SelectCommand = new SqlCommand(query, conn);
    adapter->Fill(dataset);
    return dataset;
}

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

名前空間: System.Data.SqlClient

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET

アセンブリ: System.Data (System.Data.dll 内)

参照

SqlDataAdapter メンバ | System.Data.SqlClient 名前空間 | SqlConnection | SqlCommand | DataSet | DataTable