.xsd を作成したとき、テーブルごとに列を選択する必要があり、テーブルのスキーマが作成されましたよね? では、その Select 文字列を取得して、データアダプタの新しいインスタンスの基本 Select コマンドとして使用し、必要に応じて Where 句と OrderBy 句を追加するにはどうすればよいでしょうか?
これにより、(同じテーブルの) 各 DataAdapter のフィールド リストを .xsd ファイル内のそのテーブルのスキーマと同期させる必要がなくなります。
特定のテーブル スキーマで動作する複数の DataAdapter があり、Where 句と OrderBy 句のパラメーターが異なることはよくあることではありませんか? 確かに、すべて同じテーブル スキーマで動作する半ダースの DataAdapter の Select 文字列のフィールド リスト部分を維持する (または冗長に構築する) 必要はありません。
私はこの擬似コードのようなものを想定しています:
BaseSelectString = MyTypedDataSet.JobsTable.GetSelectStringFromSchema() // Is there such a method or technique?
WhereClause = " Where SomeField = @Param1 and SomeOtherField = @Param2"
OrderByClause = " Order By Field1, Field2"
SelectString=BaseSelectString + WhereClause + OrderByClause
OleDbDataAdapter adapter = new OleDbDataAdapter(SelectString, MyConn)