データ アダプターからホスト ファイル データセットを設定する方法
データセットは、データ ソースに依存しない一貫性のあるリレーショナル プログラミング モデルを提供する、データのメモリ常駐表現です。 データセットは、テーブル、制約、テーブル間のリレーションシップを含むデータの完全なセットを表します。 データセットはデータ ソースに依存しないため、データセットには、アプリケーションに対してローカルなデータと、複数のデータ ソースからのデータを含めることができます。 既存のデータ ソースとの対話は、 オブジェクトを DataAdapter
介して制御されます。
プロパティは HostfileDataAdapter.SelectCommand
、 HostFileCommand
データ ソースからデータを取得する オブジェクトです。 メソッドは HostFileDataAdapter.Fill
、 の結果をデータセットに設定するために使用されます SelectCommand
。 Fill
は、設定するオブジェクト、および 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
オブジェクトを使用して、各データ ソースとの通信を行うことができます。
データ アダプターからホスト ファイル データセットを設定するには
を使用して、データ ソースへの新しい接続を
HostFileConnection
作成します。を使用して接続を
HostFileConnection.Open
開きます。で取得
HostFileCommand
するデータを記述する SELECT コマンドを作成します。HostFileDataAdapter
を作成HostFileConnection
して、格納されているデータを操作します。データを
DataSet
ローカルに格納する オブジェクトを作成します。オブジェクトと コマンドを
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
オブジェクトと パラメーターと cnstring
ccsid
パラメーターを使用すると、関連情報を使用してテスト SQL コマンドをすばやく作成できます。