如何从c#form更新sql数据库中的列

本文关键字:数据库 sql 更新 c#form | 更新日期: 2023-09-27 18:03:41

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

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

但我收到一条错误消息,如下

将nvarchar值"021-01072015"转换为数据类型int.时转换失败

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

如何从c#form更新sql数据库中的列

请使用参数化查询

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());
}
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());
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'
string qryUpdate = "UPDATE Orders SET show=1 WHERE show=0 AND ordName='" + dto.Rows[i]["ordName"].ToString()+"'";

请尝试一下。

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