【问题标题】:How to update a column in sql database from c# form?如何从 c# 表单更新 sql 数据库中的列?
【发布时间】:2015-07-21 09:59:04
【问题描述】:

我有这个 sql 语句,它引用了数据网格中的列 ordName

string qryUpdate = "UPDATE Orders SET show=1 WHERE show=0 AND ordName=" + dto.Rows[i]["ordName"].ToString();

但我收到如下错误消息

将 nvarchar 值“021-01072015”转换为数据类型 int 时转换失败。

我认为.ToString() 会克服这个问题

【问题讨论】:

  • 使用带参数的查询。是 'ordName' DateTime 类型吗?
  • 该值是一个字符串,所以必须加引号; ordName='" + dto.Rows[i]["ordName"].ToString() + "'"; - 建议参数化查询是正确的方法。
  • Alex K. 感谢您的帮助。它现在可以正常工作了
  • 好像 ordName 是一个整数值,而您尝试检查的值是 '021-01072015'

标签: c# sql


【解决方案1】:

请使用参数化查询

string qryUpdate ="UPDATE Orders SET show=1 WHERE show=0 AND ordName= @ordName ";
using (SqlConnection connection = new SqlConnection(connectionString))
{
   SqlCommand command = new SqlCommand(qryUpdate, connection);
   command.Parameters.AddWithValue("@ordName", dto.Rows[i]["ordName"].ToString());
}

【讨论】:

    【解决方案2】:
    string qryUpdate = "UPDATE Orders SET show=1 WHERE show=0 AND ordName='@orderName'";
    
    //your command object
    cmd.Parameters.AddWithValue("@orderName", dto.Rows[i]["ordName"].ToString());
    

    【讨论】:

      【解决方案3】:
      string qryUpdate = "UPDATE Orders SET show=1 WHERE show=0 AND 
      ordName= '" + dto.Rows[i]["ordName"].ToString() + "'";
      

      现在更新查询将是

      UPDATE Orders SET show=1 WHERE show=0 AND 
          ordName= '021-01072015'
      

      【讨论】:

        【解决方案4】:
        string qryUpdate = "UPDATE Orders SET show=1 WHERE show=0 AND ordName='" + dto.Rows[i]["ordName"].ToString()+"'";
        

        【讨论】:

        • 虽然这可能是正确的代码,但您应该添加解释。
        • 错误描述它自己,这就是我没有解释的原因。
        【解决方案5】:

        请试试这个。

        var  qryUpdate =string.Format("UPDATE Orders SET show={0} WHERE show={1} AND ordName='{2}' ",1,0 ,dto.Rows[i]["ordName"].ToString());
        

        【讨论】:

        • 你为什么不给我投票???谁 ??请说出这个答案有什么问题。
        猜你喜欢
        • 2019-08-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-02-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多