如果你的datagridview連接到數據庫,你不想使用SQL,我可以假設它是綁定到數據源。如果您通過Visual Studio Designer執行此操作,則應該有TableAdapter
(如果自動生成,可能稱爲YOURTABLENAMETableAdapter)和BindingSource
(如果自動生成,可能稱爲YOURTABLENAMEBidingSource)。
要更新數據庫,您必須調用BindingSource.EndEdit()然後TableAdapter.Update()。完成此操作後,您可以刷新數據。
編輯
現在您提供更好的信息,我可以給你一個更好的答案。 在我之前的回答中,我假定你已經用設計器創建了所有東西,因爲你不想使用SQL來進行更新。顯然我錯了。
爲了達到您的要求,您應該使用OleDbCommandBuilder
類,只要給出SELECT
命令,就會自動爲您的表生成簡單的編輯命令(插入/更新/刪除)。
這裏是使用你的代碼的例子:
dsView = new DataSet();
adp = new OleDbDataAdapter("SELECT * FROM Items", Conn);
OleDbCommandBuilder cb = new OleDbCommandBuilder(adp);
adp.Fill(dsView, "Items");
this.dataGridView1.DataSource = dsView.Tables["Items"].DefaultView;
//adp.Dispose(); You should dispose you adp only when it is not loger needed (eg: after performing the update)
現在,你perfomed更改的數據後,你可以調用
adp.Update(dsView, "Items");
您必須提供綁定的對象更好的細節以及您實際上在不去數據庫的情況下嘗試更新的內容。 – leppie 2010-10-26 10:51:55