2013-01-12 30 views
3

我正在編寫一個使用數據庫的WindowsApplication程序。 我使用DataGridView顯示數據庫值。 目前,我想會有更新通過DataGridView數據庫中的可能性,所以我寫了這個代碼:如何使用TableAdapter進行更新?

private void MainForm_Load(object sender, EventArgs e) 
    { 
     // TODO: This line of code loads data into the 'databaseDataSet1.products' table. You can move, or remove it, as needed. 
     this.productsTableAdapter1.Fill(this.databaseDataSet1.products); 
    } 

    private void upButton1_Click(object sender, EventArgs e) 
    { 
     this.productsTableAdapter1.Update(this.databaseDataSet1.products); 
     MessageBox.Show("הנתונים עודכנו בהצלחה!"); 
    } 

的問題是,有沒有值到數據庫的更新。 如果有人能夠幫助我解決這個問題,或者更好的解釋如何使用DataGridView,我會很高興,因爲我沒有在互聯網上找到任何有用的東西。

回答

0

您應該將datagridview綁定到DataTable或BindingList對象,因爲它們是可觀察的。

+0

你是什麼意思,說我需要「綁定datagridview ...」? – Doron

+0

你可以這樣寫:dataGridView1.DataSource = dTable;其中dTable是DataTable()的一個實例。現在,您只需修改數據表並將其反映在數據網格視圖上。 –

0

假設您填寫一個DataTableDataAdapter DataGridView的,你可以做到以下幾點:

private void SaveChanges() 
{ 
    try 
    { 
     if (sqlDataAdapter != null && dataTable.GetChanges() != null) 
      sqlDataAdapter.Update(dataTable); 
    } 
    catch (Exception exception) 
    { 
     MessageBox.Show(exception.Message); 
    } 
} 

這將自動生成任何插入,更新或刪除根據您的DataTable

更新您的數據庫所需的語句
1
 this.Validate(); 
     this.productsBindingSource.EndEdit(); 
     this.productsTableAdapter1.Update(this.databaseDataSet1.products); 
     //this.productsTableAdapter1.UpdateAll(this.databaseDataSet1); 
相關問題