2012-05-02 24 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

関連する問題