2011-10-22 46 views
1

將表格從DataSet拖到我的Windows窗體上時,會默認創建一個bindingNavigator和一個dataGridView。現在,當我運行該項目時,在dataGridView中添加行,在退出之前保存它,然後重新運行項目中添加的行,但當我到服務器資源管理器查看錶數據時,那些行不存在在數據庫中。如何使用Windows Form數據網格更新數據庫? (Visual Studio 2010)

在搜索時,我發現Visual Studio在/ bin/Debug文件夾中創建了我的數據庫的副本,並執行該數據庫副本中的所有更改。有沒有辦法確保在項目目錄中創建新副本,以便修改舊副本而不是在另一個目錄中創建新副本?或者其他方式來更新原始數據庫?

p.s.將數據庫的「複製到輸出目錄」屬性更改爲「不要複製」並不能解決問題。

回答

0

您可以使用SqlAdapter更新您的數據庫。

// load data 
if(ds != null) 
     ds.Clear(); 
adap = new SqlDataAdapter("select id,title, description from testtable", con); 
ds = new DataSet(); 
adap.Fill(ds); 
dataGrid1.DataSource = ds.Tables[0]; 


// perform update 
SqlCommandBuilder com = new SqlCommandBuilder(adap); 
foreach(DataRow dr in ds.Tables[0].Rows) 
     dr["title"] = txtTitle.Text; 
adap.Update(ds); 

希望這有助於

+0

目前默認編寫的代碼是: // TODO:這行代碼將數據加載到'database1DataSet.emp'表中。您可以根據需要移動或移除它。 'code' this.empTableAdapter.Fill(this.database1DataSet.emp); //此段代碼保存數據: this.Validate(); this.empBindingSource.EndEdit(); this.tableAdapterManager.UpdateAll(this.database1DataSet); 這段代碼有什麼問題? – Saad

0

當你創建你的數據集,你取消選中「數據源配置嚮導」屏幕上的「啓用本地數據庫緩存」複選框?

+0

是的,我沒有選中它。事實上,它默認是沒有選中的。 – Saad

0

而不是使用綁定。您可以使用應用程序設置。只需編寫一個XML文件!

相關問題