2014-07-17 102 views
0

如何從DataGridView C#更新數據庫?我的項目是在DB.but負載數據表工作不能更新到數據庫 它的負載數據按鈕如何從DataGridView更新數據庫C#

private void button2_Click(object sender, EventArgs e) 
{ 
     string connectionString; 

     connectionString = "Server=localhost;User Id=root; Password=1234; Database=db2; Pooling=false;CharSet=tis620;"; 
     connection = new MySqlConnection(connectionString); 
     sda = new MySqlDataAdapter("Select * from data Where Id = '" + comp.Text.Trim() + "'", connection); 

     dt = new DataTable(); 
     sda.Fill(dt); 
     Table1.DataSource = dt; 

} 

和更新按鈕

private void button3_Click(object sender, EventArgs e) 
{ 

     cmdbl = new MySqlCommandBuilder(sda); 

     sda.Update(dt); 
     MessageBox.Show("Save data complete"); 

} 

我按照這個片段Insert,Delete and Update data in database from datagridview ,我可以」 t do it 對不起,我的英語說得不夠好,謝謝你的回答。

+0

嘗試dt.AcceptChanges()後更新 – Srikanth

回答

0

假設你已經更新命令配置。 嘗試dt.AcceptChanges()更新後

private void button3_Click(object sender, EventArgs e) 
{ 

    cmdbl = new MySqlCommandBuilder(sda); 

    sda.Update(dt); 
    dt.AcceptChanges() 
    MessageBox.Show("Save data complete"); 

    } 

否則按照MSDN

作爲最低要求,則必須爲了自動命令生成的工作設置SelectCommand屬性。由SelectCommand屬性檢索的表模式決定了自動生成的INSERT,UPDATE和DELETE語句的語法。 DbCommandBuilder必須執行SelectCommand才能返回構造INSERT,UPDATE和DELETE SQL命令所需的元數據。因此,需要額外訪問數據源,這可能會影響性能。要獲得最佳性能,請明確指定您的命令,而不要使用DbCommandBuilder。 SelectCommand還必須返回至少一個主鍵或唯一列。如果不存在,則會生成InvalidOperation異常,並且不生成命令。

+0

AW對不起,先生,我有錯誤「併發衝突:在更新命令影響的預期1條記錄0」。來自sda.update(dt); –

相關問題