-2

重複の可能性:
C#.Net を使用した DataGridView の更新

これは私が試していることですが、まだ更新されていません。

 con.Open();
 SqlDataAdapter da = new SqlDataAdapter("Select * from Table_Name", con);
 DataTable dt = new DataTable();
 da.Fill(dt);
 da.Update(dt);
 dataGridview1.DataSource = null;
 dataGridView1.DataSource = dt;

また、SQLクエリでDataGridViewを更新する方法があれば……。

4

2 に答える 2

0

コードをデバッグして、データ アダプターが Datatable を埋めようとするときに、DatTable に実際にデータが入力されているかどうかを確認する必要があります。

この場合、バインディング ソースを使用する必要があります。これにより、データ テーブルに加えた変更が DataGridView オブジェクトに確実に反映されます。

データ アダプターで Update() を呼び出す必要はありません。Fill() だけで十分です。

 Public BindingSource bs = new BindingSource();
 Public DataTable dt = new DataTable();

 SqlDataAdapter da = new SqlDataAdapter("Select * from Table_Name", con);

 Con.Open();

 da.Fill(dt);

 Con.Close();

 bs.DataSource = dt;

 dataGridview1.DataSource = bs;

これを行うと、メモリ内の DataTable をフィルター処理/クエリすることができ、datagridView の変更が即座に反映されます。

データ テーブルでクエリを実行できる場合、データベースにクエリを実行することはお勧めできません。

于 2012-07-13T08:27:42.947 に答える
-2

以下のコードを試してください

con.Open();  
SqlDataAdapter da = new SqlDataAdapter("Select * from Table_Name", con);  
Dataset ds = new Dataset();   //changed code from datatable to dataset
da.Fill(ds);  
da.Update(ds);  
dataGridView1.DataSource = ds;
dataGridView1.DataBind(); //databinding done here. this is missing in your code
于 2012-07-12T11:23:41.673 に答える