如何在C#中使用sql查询向现有值添加值

时间:2016-01-12 16:23:07

标签: c# sql asp.net

如何更新字段以将值添加到现有值? 例如,我有以下产品表。

int qn = int.Parse(TextBox3.Text)
SqlCommand cmd1 = new SqlCommand("update product set group1 = group1 + qn where productname = '@productname'", con);
cmd1.Parameters.Add(new SqlParameter("@productname", TextBox1.Text));

有没有办法简单地为数量增加价值? 像

dropdown

我想将文本框值添加到4,以便更新积分,其中product =' x' 我收到错误"列名无效' qn'"(group1 = group1 + qn)。请建议我解决这个错误?

2 个答案:

答案 0 :(得分:1)

您必须将qn添加为另一个参数并与查询一起传递,因此您的查询将如下所示:

SqlCommand cmd1 = new SqlCommand("update product set group1 = group1 + @qn where productname = @productname", con);
cmd1.Parameters.Add(new SqlParameter("@qn", qn));
cmd1.Parameters.Add(new SqlParameter("@productname", TextBox1.Text));

答案 1 :(得分:0)

在SQL字符串中删除参数周围的单引号。

"update product set group1 = group1 + qn where productname = '@productname'"
                                                           //^^           ^^

使用参数时不需要单引号。

也为qn添加参数。 像:

int qn = int.Parse(TextBox3.Text)
SqlCommand cmd1 = new SqlCommand("update product set group1 = group1 + @qn where productname = @productname", con);
cmd1.Parameters.Add(new SqlParameter("@productname", TextBox1.Text));
cmd1.Parameters.Add(new SqlParameter("@qn", qn));

最好将命令和连接对象括在using语句中,以确保正确处理资源。