3

私は次のようにデータベースからデータを取得します:

OleDbDataAdapter dataAdapter 
            = new OleDbDataAdapter("SELECT * "
              + " FROM myTab1, myTab2"
              + " WHERE myTab1.col1 = myTab2.col3"
              , connection);//OleDbConnection connection = new OleDbConnection();
DataTable dataTable = new DataTable("myDataTable");
BindingSource bindingSource = new BindingSource();
bindingSource.DataSource = dataTable;
dataAdapter.Fill(dataTable);  

次にbindingSource、プログラム内のデータにアクセスするために使用しますが、すべてが完璧に機能します。しかし、私が行ったすべての変更の後bindingSource、データベースに保存する必要があります。これどうやってするの?

4

1 に答える 1

3

通常、次Update()のように呼び出しDataAdapterます。

dataAdapter.Update(dataTable);

ただし、クエリは 2 つのテーブルを「結合」するため、それほど簡単ではない場合があります。SELECTクエリを適切な結合に変更すると、可能になる場合があります。

  "SELECT * "
+ "FROM myTab1 "
+ "JOIN myTab2 ON myTab1.col1 = myTab2.col3"

いくつかの他の選択肢:

  • 適切な値を適切なテーブルに入れ、あなたdataAdapterUpdateStatement
  • データセットに個別のテーブル (ベース テーブルごとに 1 つ) を入力し、アプリに結合します

MSDN からの詳細情報:

http://msdn.microsoft.com/en-us/library/xzb1zw3x(v=vs.80).aspx

于 2012-10-17T20:41:24.877 に答える