HostFileDataAdapter.Fill methodは、DataSet オブジェクトにデータ ソースのテーブル列と行を格納します。制約はデータ ソースによって一般的に設定されますが、Fill メソッドは既定でこのスキーマ情報をDataSet オブジェクトに追加しません。 データ ソースの既存の主キー制約情報を DataSet オブジェクトに設定するには、 HostFileDataAdapter.FillSchemaを呼び出します。
注
データ ソース内のcolumnが自動インクリメント、FillSchema メソッド、またはAddWithKeyのMissingSchemaActionを持つFill メソッドとして識別された場合、AutoIncrement プロパティが true に設定されたDataColumnが作成されます。 ただし、 AutoIncrementStep と AutoIncrementSeed の値は自分で設定する必要があります。
データセットに追加のキー制約を設定するには
指定したキー制約を含む対象の
DataSetとスキーマを使用して、HostFileDataAdapter.FillSchemaを呼び出します。データを入力する前にスキーマ情報を
DataSetに追加すると、DataSetオブジェクトのDataTableオブジェクトに主キー制約が確実に含められます。 その結果、DataSetを埋める追加の呼び出しが行われると、主キー列の情報を使用して、データ ソースの新しい行と各DataTableオブジェクトの現在の行が照合され、テーブル内の現在のデータがデータ ソースのデータで上書きされます。 スキーマ情報がない場合、データ ソースの新しい行がDataSetオブジェクトに追加され、結果として行が重複します。