我正在尝试使用连接的ado.net图层对winform执行更新操作。
这是代码
string insertCmdStr = "UPDATE ARTICLE(SecondId,Group,Code,Name) WHERE (ID=@P1)";
insertCmdStr += "VALUES(@Idd,@group,@code,@name)";
FbCommand cmd = new FbCommand(insertCmdStr, fbConn, tran);
cmd.Parameters.AddWithValue("@P1", id);
cmd.Parameters.AddWithValue("@Idd", idd);
cmd.Parameters.AddWithValue("@group", group);
cmd.Parameters.AddWithValue("@code", code);
cmd.Parameters.AddWithValue("@name", name);
cmd.ExecuteNonQuery();
使用此查询我得到了异常
- $ exception {“动态SQL错误\ r \ nSQL错误代码= -104 \ r \ n未知 - 第1行,第15列\ r \ n \ n(”} System.Exception {FirebirdSql.Data.FirebirdClient.FbException}
答案 0 :(得分:2)
UPDATE语句通常构造如下:
UPDATE TABLE
SET Field1 = Value
, Field2 = Value
, Field3 = Value
WHERE ID = Value
因此您可以使用:
string insertCmdStr = "UPDATE ARTICLE SET SecondId = @Idd, Group = @group, code = @code, name = @name WHERE ID=@P1;"
我还建议将insertCmdStr
更改为updateCmdStr
,以澄清您要实现的目标。
答案 1 :(得分:1)
不应该像这样查询:
UPDATE ARTICLE
SET
SecondId = @Idd,
Group = @group,
Code = @code,
Name = @name
WHERE ID = @P1