0

DbConnection から DbDataAdapter を作成し、DataTable に入力して、DataGridView に配置しました。

DataGridView でデータを追加/挿入/削除するときに、それを保存してデータベースを更新したいと考えています。

私は正確に何をしなければなりませんか?

(私は自分で DbCommands を作成しました。Update コマンドの例です (正しいですか?):

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 fistname=@firstname,lastname=@lastname,mail=@mail";    

dbAdapter.UpdateCommand = updateCmd;

「保存」ボタンには次のコードが含まれていると思います。

adapt.Update(table);

しかし、私はエラーが発生します:

Must declare the scalar variable "@firstname".
4

1 に答える 1

1

CreateParameterメソッドはSqlParameterインスタンスを作成するだけで、パラメータを に追加しませんSqlCommandupdateCmd.Parameters.Addメソッドを使用してコマンドにパラメーターを追加する必要があります。

于 2012-05-02T10:01:15.403 に答える