データベースに接続されたデータセットがあります。Dataset と TableAdapterManager は、接続に基づいて VS によって自動作成されました。
私はthis.tableAdapterManager.UpdateAll(testcheckerDataSet);
それがうまくいっているようにすることができます。
次に、(サード パーティのデータベース エディターを使用して) .db ファイルを "blank_testing.db" (2 番目のデータベース) にコピーし、そこからすべてのデータを削除しました。したがって、データのないスキームだけがあります。
今、私は(コードで)「testchecker.db」(1番目のデータベース)からのデータでデータセットを埋め、from要素を使用してデータを変更し、データを2番目のデータベースに保存してから1番目のデータベースに保存したいと考えています。アダプターごとに接続文字列を変更するようにしています。
string originalPath = tableAdapterManager.Connection.ConnectionString;
string ns = tableAdapterManager.Connection.ConnectionString.Replace("testchecker.db", "blank_testing.db");
tableAdapterManager.Connection.ConnectionString = ns;
group_testingTableAdapter.Connection.ConnectionString = ns;
groupsTableAdapter.Connection.ConnectionString = ns;
testingTableAdapter.Connection.ConnectionString = ns;
this.tableAdapterManager.UpdateAll((testcheckerDataSet) testcheckerDataSet.Copy() ); // here error
tableAdapterManager.Connection.ConnectionString = originalPath;
group_testingTableAdapter.Connection.ConnectionString = originalPath;
groupsTableAdapter.Connection.ConnectionString = originalPath;
testingTableAdapter.Connection.ConnectionString = originalPath;
this.tableAdapterManager.UpdateAll( testcheckerDataSet );
しかし、「更新コマンドが 1 から 0 に影響した同時実行違反」というエラーが表示されます。2番目のデータベースにデータがまったくないために発生すると思います。
それで、誰かが現在のデータセットを別のdbファイルに保存してから、最初の(元の)dbに保存する方法を教えてもらえますか?
ありがとう。