需要帮助减去数据库列中的值

本文关键字:数据库 帮助 | 更新日期: 2023-09-27 18:00:02

我正试图从文本框中减去数据库列中的值,我得到了一个错误,该错误是在预期条件为的上下文中指定的非布尔类型的表达式

  cn.Open();
  SqlCommand command = new SqlCommand();
  command.Connection = cn;
  command.CommandText = "select * from class where  quanitity - '"+Convert.ToInt32(textBox10.Text)+"'";
  command.ExecuteNonQuery();
  cn.Close();

需要帮助减去数据库列中的值

你不是列的负值。你想这样吗

        command.CommandText = "update class set quanitity = quanitity - "+Convert.ToInt32(textBox10.Text) ;

这肯定能在中工作

command.CommandText = string.Format("update class set quanitity= quanitity - {0}",Convert.ToInt32(textBox10.Text));

您需要一个值来比较您的两个数字。您正在从数量中减去TextBox10的值,但减去该值后您希望看到什么结果集?需要在WHERE右侧的某个位置进行比较。

command.CommandText = "select (quantity - "+Convert.ToInt32(textBox10.Text)+") from class ;

我怀疑您发出了SQL注入警报。。不要连接字符串——它对sql注入警报是完全开放的。所以使用参数化查询

command.CommandText = "select * from class where  quanitity -@txtbox10";
command.Parameters.AddWithValue("@txtbox10", Convert.ToInt32(textBox10.Text));
command.ExecuteNonQuery();