Share via


データ アダプターからホスト ファイル データセットを設定する方法

データセットは、データ ソースに依存しない一貫性のあるリレーショナル プログラミング モデルを提供する、データのメモリ常駐表現です。 データセットは、テーブル、制約、テーブル間のリレーションシップを含むデータの完全なセットを表します。 データセットはデータ ソースに依存しないため、データセットには、アプリケーションに対してローカルなデータと、複数のデータ ソースからのデータを含めることができます。 既存のデータ ソースとの対話は、 オブジェクトを DataAdapter 介して制御されます。

プロパティは HostfileDataAdapter.SelectCommandHostFileCommand データ ソースからデータを取得する オブジェクトです。 メソッドは HostFileDataAdapter.Fill 、 の結果をデータセットに設定するために使用されます SelectCommandFillは、設定するオブジェクト、および DataTable オブジェクト、または からSelectCommand返される行で塗りつぶされる のDataTable名前を引数DataSetとして受け取ります。

メソッドは Fill 、 オブジェクトを HostFileDataReader 暗黙的に使用して、オブジェクト内のテーブルの作成に使用される列名と型、およびオブジェクト内 DataSet のテーブルの行を設定するデータを DataSet 返します。 テーブルおよび列は、存在しない場合にのみ作成されます。それ以外の場合、 Fill には、既存の DataSet スキーマが使用されます。 主キーは、データ ソース内にあり、 HostFileDataAdapter.MissingSchemaAction が に MissingSchemaAction.AddWithKey設定されていない限り作成されません。 テーブルの主キーが存在することが検出された場合 Fill 、主キー列の値がデータ DataSet ソースから返された行のデータと一致する行のデータでオブジェクト内のデータが上書きされます。 主キーが見つからない場合、データは オブジェクト内のテーブルに DataSet 追加されます。 Fill は、オブジェクトにデータを設定するときに存在する可能性があるマッピングを DataSet 使用します。

HostFileDataAdapter 複数の結果セットを検出すると、 オブジェクトに複数のテーブルが DataSet 作成されます。 これらのテーブルには、Table0 のように、"Table" で始まるインクリメンタル既定名 TableN が割り当てられます。 テーブル名が メソッドに Fill 引数として渡された場合、テーブルには、TableName0 の "TableName" で始まる増分既定の名前 TableNameN が指定されます。

オブジェクトには任意の数の HostFileDataAdapter オブジェクトを DataSet 使用できます。 各 DataAdapter オブジェクトを使用して、1 つ以上の DataTable オブジェクトを塗りつぶし、関連するデータ ソースへの更新を解決できます。 オブジェクトと Constraint オブジェクトをDataSetローカルに追加DataRelationして、異なるデータ ソースからデータを関連付けることができます。 1 つ以上の DataAdapter オブジェクトを使用して、各データ ソースとの通信を行うことができます。

データ アダプターからホスト ファイル データセットを設定するには

  1. を使用して、データ ソースへの新しい接続を HostFileConnection作成します。

  2. を使用して接続を HostFileConnection.Open開きます。

  3. で取得 HostFileCommandするデータを記述する SELECT コマンドを作成します。

  4. HostFileDataAdapterを作成HostFileConnectionして、格納されているデータを操作します。

  5. データを DataSet ローカルに格納する オブジェクトを作成します。

  6. オブジェクトと コマンドを HostFileDataAdapter 使用して、 を DataSet 使用してデータを Fill 取得します。

次のコード例は、 を使用してデータセットを塗りつぶす方法を HostFileDataAdapter示しています。 この例では、ETCMLogging オブジェクトと HostFileUtils オブジェクトにそれぞれログ機能とユーティリティ機能が用意されています。

public void HFDAdapterCommandConstructor(ETCMLogging.Logging logging, string host, string ccsid, string cnstring, HostFileUtils.Utils.HostFileType hostfiletype)  
        {  
            HostFileUtils.Utils u = new HostFileUtils.Utils();  
            logging.LogInfo(host + "::" + hostfiletype.ToString());  
            HostFileUtils.Utils.MytestsVals[] Datavals = u.InitMytestsVals();  
  
            try  
            {  
                HostFileConnection cn = new HostFileConnection(cnstring);  
                cn.Open();  
                String SELECT = u.CreateSQLCommand(host, hostfiletype, cnstring, "SELECT", "MYTEST");  
                HostFileCommand hfc = new HostFileCommand(SELECT, cn);  
                HostFileDataAdapter hfda = new HostFileDataAdapter(hfc);  
                DataSet ds = new DataSet();  
                hfda.Fill(ds);  
                int[] cp = u.CheckColumns(SELECT, cn, logging);  
                u.ValidateDataSet(ds, logging, Datavals, cp);  
  
                cn.Close();  
            }  
            catch (Exception e)  
            {  
                logging.LogInfo(e.Message);  
                logging.LogFail(e.StackTrace);  
            }  
        }  

このコード例では、 HostFileUtils オブジェクトと パラメーターと cnstringccsid パラメーターを使用すると、関連情報を使用してテスト SQL コマンドをすばやく作成できます。

参照

ホスト ファイル アダプターとデータセットの操作
ホスト ファイルの BizTalk Adapter の構成