panjo
panjo

Reputation: 3515

update data with connected ado.net layer

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

Answers (2)

gzaxx
gzaxx

Reputation: 17600

Should not query be like this:

UPDATE ARTICLE 
SET
    SecondId = @Idd,
    Group = @group,
    Code = @code,
    Name = @name
WHERE ID = @P1

Upvotes: 1

Darren
Darren

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

Related Questions