【问题标题】:update data with connected ado.net layer使用连接的 ado.net 层更新数据
【发布时间】:2013-07-05 10:07:03
【问题描述】:

我正在尝试使用连接的 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("} System.Exception {FirebirdSql.Data.FirebirdClient.FbException}

【问题讨论】:

    标签: c# sql .net sql-server winforms


    【解决方案1】:

    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 只是为了阐明您想要实现的目标。

    【讨论】:

      【解决方案2】:

      不应该这样查询:

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

      【讨论】:

        猜你喜欢
        • 2018-07-17
        • 2010-09-25
        • 1970-01-01
        • 1970-01-01
        • 2017-09-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多