OleDbDataAdapter クラスとは? わかりやすく解説

OleDbDataAdapter クラス

DataSet へのデータ格納およびデータ ソース更新使用される一連のデータ コマンドおよびデータベース接続表します

名前空間: System.Data.OleDb
アセンブリ: System.Data (system.data.dll 内)
構文構文

Public NotInheritable Class
 OleDbDataAdapter
    Inherits DbDataAdapter
    Implements IDbDataAdapter, IDataAdapter, ICloneable
Dim instance As OleDbDataAdapter
public sealed class OleDbDataAdapter : DbDataAdapter,
 IDbDataAdapter, IDataAdapter, ICloneable
public ref class OleDbDataAdapter sealed :
 public DbDataAdapter, IDbDataAdapter, IDataAdapter, ICloneable
public final class OleDbDataAdapter extends
 DbDataAdapter implements IDbDataAdapter, IDataAdapter, 
    ICloneable
public final class OleDbDataAdapter extends
 DbDataAdapter implements IDbDataAdapter, IDataAdapter, 
    ICloneable
解説解説

OleDbDataAdapter は、DataSetデータ ソースの間でデータ取得および保存するための、ブリッジの役割果たしますOleDbDataAdapter は、このブリッジ提供するために、データ ソース内のデータDataSet読み込む Fill、および DataSet での変更データ ソース送り返す Update使用します

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

MSDataShape プロバイダなど、OLE DB プロバイダによっては、ベース テーブルまたは主キー情報返されないことに注意してください。したがってOleDbDataAdapter は、作成された DataTable に対し、必ずしも PrimaryKey プロパティ正しく設定できるわけではありません。この場合は、DataSet 内のテーブル主キー明示的に指定する必要があります

OleDbDataAdapter には、データ読み込み更新効率的に行うために、SelectCommand、InsertCommand、DeleteCommand、UpdateCommand、TableMappings の各プロパティ用意されています。

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

使用例使用例

OleDbCommand、OleDbDataAdapter、および OleDbConnection を使用してAccess データ ソースからレコード選択し選択した行を DataSet格納する例を次に示します次に格納されDataSet返されます。このメソッドには、初期化済みDataSet接続文字列、および SQL SELECT ステートメントクエリ文字列渡されます。

Public Function CreateDataAdapter(ByVal
 selectCommand As String, _
    ByVal connection As OleDbConnection) As
 OleDbDataAdapter

    Dim adapter As OleDbDataAdapter = _
        New OleDbDataAdapter(selectCommand, connection)

    adapter.MissingSchemaAction = MissingSchemaAction.AddWithKey

    ' Create the commands.
    adapter.InsertCommand = New OleDbCommand( _
        "INSERT INTO Customers (CustomerID, CompanyName) "
 & _
         "VALUES (?, ?)")

    adapter.UpdateCommand = New OleDbCommand( _
        "UPDATE Customers SET CustomerID = ?, CompanyName = ?
 " & _
        "WHERE CustomerID = ?")

    adapter.DeleteCommand = New OleDbCommand( _
        "DELETE FROM Customers WHERE CustomerID = ?")

    ' Create the parameters.
    adapter.InsertCommand.Parameters.Add( _
        "@CustomerID", OleDbType.Char, 5, "CustomerID")
    adapter.InsertCommand.Parameters.Add( _
        "@CompanyName", OleDbType.VarChar, 40, "CompanyName")

    adapter.UpdateCommand.Parameters.Add( _
        "@CustomerID", OleDbType.Char, 5, "CustomerID")
    adapter.UpdateCommand.Parameters.Add( _
        "@CompanyName", OleDbType.VarChar, 40, "CompanyName")
    adapter.UpdateCommand.Parameters.Add( _
        "@oldCustomerID", OleDbType.Char, 5, "CustomerID").SourceVersion
 = _
        DataRowVersion.Original

    adapter.DeleteCommand.Parameters.Add( _
        "@CustomerID", OleDbType.Char, 5, "CustomerID").SourceVersion = _
        DataRowVersion.Original

    Return adapter
End Function
public static OleDbDataAdapter CreateDataAdapter(string
 selectCommand,
    OleDbConnection connection)
{
    OleDbDataAdapter adapter = new OleDbDataAdapter(selectCommand,
 connection);

    adapter.MissingSchemaAction = MissingSchemaAction.AddWithKey;

    // Create the Insert, Update and Delete commands.
    adapter.InsertCommand = new OleDbCommand(
        "INSERT INTO Customers (CustomerID, CompanyName) " +
        "VALUES (?, ?)");

    adapter.UpdateCommand = new OleDbCommand(
        "UPDATE Customers SET CustomerID = ?, CompanyName = ? " +
        "WHERE CustomerID = ?");

    adapter.DeleteCommand = new OleDbCommand(
        "DELETE FROM Customers WHERE CustomerID = ?");

    // Create the parameters.
    adapter.InsertCommand.Parameters.Add("@CustomerID", 
        OleDbType.Char, 5, "CustomerID");
    adapter.InsertCommand.Parameters.Add("@CompanyName", 
        OleDbType.VarChar, 40, "CompanyName");

    adapter.UpdateCommand.Parameters.Add("@CustomerID", 
        OleDbType.Char, 5, "CustomerID");
    adapter.UpdateCommand.Parameters.Add("@CompanyName", 
        OleDbType.VarChar, 40, "CompanyName");
    adapter.UpdateCommand.Parameters.Add("@oldCustomerID", 
        OleDbType.Char, 5, "CustomerID").SourceVersion = 
        DataRowVersion.Original;

    adapter.DeleteCommand.Parameters.Add("@CustomerID", 
        OleDbType.Char, 5, "CustomerID").SourceVersion = 
        DataRowVersion.Original;

    return adapter;
}
using System;
using System.Data;
using System.Data.OleDb;

class Class1
{
    static void Main()
    {
    }

    public static OleDbDataAdapter CreateDataAdapter(string
 selectCommand,
        OleDbConnection connection)
    {
        OleDbDataAdapter adapter = new OleDbDataAdapter(selectCommand,
 connection);

        adapter.MissingSchemaAction = MissingSchemaAction.AddWithKey;

        // Create the Insert, Update and Delete commands.
        adapter.InsertCommand = new OleDbCommand(
            "INSERT INTO Customers (CustomerID, CompanyName) " +
            "VALUES (?, ?)");

        adapter.UpdateCommand = new OleDbCommand(
            "UPDATE Customers SET CustomerID = ?, CompanyName = ? " +
            "WHERE CustomerID = ?");

        adapter.DeleteCommand = new OleDbCommand(
            "DELETE FROM Customers WHERE CustomerID = ?");

        // Create the parameters.
        adapter.InsertCommand.Parameters.Add("@CustomerID", 
            OleDbType.Char, 5, "CustomerID");
        adapter.InsertCommand.Parameters.Add("@CompanyName", 
            OleDbType.VarChar, 40, "CompanyName");

        adapter.UpdateCommand.Parameters.Add("@CustomerID", 
            OleDbType.Char, 5, "CustomerID");
        adapter.UpdateCommand.Parameters.Add("@CompanyName", 
            OleDbType.VarChar, 40, "CompanyName");
        adapter.UpdateCommand.Parameters.Add("@oldCustomerID", 
            OleDbType.Char, 5, "CustomerID").SourceVersion = 
            DataRowVersion.Original;

        adapter.DeleteCommand.Parameters.Add("@CustomerID", 
            OleDbType.Char, 5, "CustomerID").SourceVersion = 
            DataRowVersion.Original;

        return adapter;
    }
継承階層継承階層
System.Object
   System.MarshalByRefObject
     System.ComponentModel.Component
       System.Data.Common.DataAdapter
         System.Data.Common.DbDataAdapter
          System.Data.OleDb.OleDbDataAdapter
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
OleDbDataAdapter メンバ
System.Data.OleDb 名前空間
その他の技術情報
DataAdapter の使用



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「OleDbDataAdapter クラス」の関連用語

OleDbDataAdapter クラスのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



OleDbDataAdapter クラスのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2024 Microsoft.All rights reserved.

©2024 GRAS Group, Inc.RSS