いい人!ここで 1 つの問題に行き詰まっており、本当に助けが必要です。いくつかのタブがある Winforms アプリケーションがあります。MS SQL Server 2008 DB に接続し、DB に接続する最初のタブに DataGridView を表示します。
private void button_ConnectDB_Click(object sender, EventArgs e)
{
if (sqlConnection == null || sqlConnection.State != ConnectionState.Open)
sqlConnection = new SqlConnection(connectionString);
sqlConnection.Open();
try
{
dataAdapter = new SqlDataAdapter(queryStringUsers, sqlConnection);
SetConnectDBObjects();
SetConnectDBButtons();
}
catch
{
ShowUnableToConnect();
return;
}
}
そしてDBからいくつかの情報を持っています:
private void button_SpecAcc_Click(object sender, EventArgs e)
{
dataGridView1.DataSource = this.usersBindingSource;
LoadData(ref dataAdapter, ref clientDataSet, TAB_USERS);
dataGridView1.ReadOnly = false;
},
ここで、LoadDataは実際には次のとおりです。
private void LoadData(ref SqlDataAdapter dataAdapter, ref clientDataSet dataset, string table)
{ dataAdapter.Fill(dataset, table); }
dataAdapter を SQL Server に直接接続しているため、自動的に構成されます (INSERT、UPDATE、DELETE などのすべての操作も)。そして、別のタブを作成することを決定するまで、すべてが正常に機能しました(DBに接続し、操作を行い、保存できました(アダプターの更新メソッドを使用する[適用]ボタンを使用))。別のタブで情報を取得する必要があります(いくつかの行) ) 他の場所 (私が接続した外部デバイス) から、それを DataTable に取得し、DB の他の行とマージします。
いくつかの行を MERGE しようとすると、DB の素敵で良いUPDATEに表示されますが、最初のタブ (フォーム上) に 2 つの異なる行が表示されます (1 つは触れられていないかのように、2 番目は - まるでそれのように)更新されました。更新 (GridView の更新を試みましたが、役に立ちませんでした)、または他の要素の更新 (しかし、どれですか?...) の何かだと思いましたが、まだ見つかりません。助けていただければ幸いです...ありがとう