我从DbConnection创建了一个DbDataAdapter,填充了DataTable,并将其放入DataGridView。
当我在DataGridView中添加/插入/删除数据时,我想保存它并更新数据库。
我到底要做什么?
(我自己创建了DbCommands; Update-command的一个例子(它是否正确?):
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".
答案 0 :(得分:1)
CreateParameter
方法仅创建SqlParameter
实例,但不会将参数添加到SqlCommand
。您必须使用updateCmd.Parameters.Add
方法将参数添加到命令中。