你能幫助這樣的問題: 我有兩種形式,datagridview和SQL數據庫。 我的第一個表單的加載事件我使用存儲過程(選擇查詢)從我的SQL數據庫中選擇一些數據。單個datagridview行更新
SqlConnection con = new SqlConnection(constr);
SqlCommand cmd = new SqlCommand("PROC001", con);
cmd.CommandType = CommandType.StoredProcedure;
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt);
datagridview.DataSource = dt;
之後,我可以過濾或通過使用dt.DefaultView.Filter = ....和顯示在我的網格僅過濾行進行排序我的datagridview。 在我的第二個Form2出現的CellMouseDoubleClick事件上。在這種形式下,我通過點擊Button1更新數據庫中的某些值,之後我想更新我選擇的datagridview行。我的隊列是:
1)如何更新datagridview中的所選行,並且不要執行所有datagridview再次填充的存儲過程。
2)我的datagridview已經過濾,所以如果我再次執行過程,我的過濾器已被消除。我該如何避免這種情況?
3)在Form2上,我正在更新一些數據庫值,這不包括在我的「選擇查詢」中作爲選定字段,但是此值在此查詢中受到影響。例如:
SELECT Name, SecondName FROM tUsers
WHERE id = (SELECT DISTINCT id FROM tProcedures WHERE Code = 'First')
在我的DataGridView我可以看到姓名和SecondName,但在窗體2我在tProcedures
更新數據庫表中的代碼。所以更新後,我想在datagridview中看到我的新數據,只在選定的行和當前的過濾器中。我不想再次將所有數據選擇到datagridview並打破了我的過濾器。
是否可以更新單行?你能提供一些例子嗎?