2012-05-02 175 views
0

我從DbConnection創建了一個DbDataAdapter,填充了一個DataTable,並將其放入DataGridView中。更新/刪除/插入DataGridView

當我在DataGridView中添加/插入/刪除數據時,我想保存它並更新數據庫。

我到底需要做什麼?

(我創建了自己DbCommands;更新命令(的例子是正確的):

DbCommand updateCmd = connection.CreateCommand(); 

DbParameter param1 = updateCmd.CreateParameter(); 
DbParameter param2 = updateCmd.CreateParameter(); 
DbParameter param3 = updateCmd.CreateParameter(); 

param1.Direction = ParameterDirection.Input; 
param1.ParameterName = "@firstname"; 
param1.SourceColumn = "firstname"; 
param1.DbType = (DbType.String); 

param2.Direction = ParameterDirection.Input; 
param2.ParameterName = "@lastname"; 
param2.SourceColumn = "lastname"; 
param2.DbType = (DbType.String); 

param3.Direction = ParameterDirection.Input; 
param3.ParameterName = "@mail"; 
param3.SourceColumn = "mail"; 
param3.DbType = (DbType.String); 
updateCmd.CommandText = "UPDATE Personen SET [email protected],[email protected],[email protected]";  

dbAdapter.UpdateCommand = updateCmd; 

我認爲,「保存」按鈕,有這樣的代碼:

adapt.Update(table); 

但我得到一個錯誤:

Must declare the scalar variable "@firstname". 

回答

1

CreateParameter方法只創建一個SqlParameter例如,但不會將該參數添加到SqlCommand。您必須使用updateCmd.Parameters.Add方法將參數添加到命令中。

+0

的確,我忘了添加我的參數,謝謝! – francisMi