Reputation: 3515
I'm trying to perform update operation on winform using connected ado.net layer.
here's the code
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();
using this query I'm getting exception
- $exception {"Dynamic SQL Error\r\nSQL error code = -104\r\nToken unknown - line 1, column 15\r\n("} System.Exception {FirebirdSql.Data.FirebirdClient.FbException}
Upvotes: 1
Views: 204
Reputation: 17600
Should not query be like this:
UPDATE ARTICLE
SET
SecondId = @Idd,
Group = @group,
Code = @code,
Name = @name
WHERE ID = @P1
Upvotes: 1
Reputation: 70814
UPDATE statements are usually constructed as follows:
UPDATE TABLE
SET Field1 = Value
, Field2 = Value
, Field3 = Value
WHERE ID = Value
Therefore you can use:
string insertCmdStr = "UPDATE ARTICLE SET SecondId = @Idd, Group = @group, code = @code, name = @name WHERE ID=@P1;"
I'd also recommend changing insertCmdStr
to updateCmdStr
just to clarify what you're trying to achieve.
Upvotes: 2