非常简单,就是一个取款机的操作,将数据库中User_Money的值减掉取钱数(M),但是为什么减不了呢,刚刚接触数据库…………附上代码       private void Qu_Money(string Id,int m)
        {
            string ConStr = ConfigurationManager.ConnectionStrings["ConStr"].ConnectionString;
            using (SqlConnection con = new SqlConnection(ConStr))
            {
                using (SqlCommand cmd = con.CreateCommand())
                {
                    cmd.CommandText = "update T_Manager Set User_Money=User_Money+@M where User_Name=@User_Name";
                    cmd.Parameters.Add(new SqlParameter("User_Name",Id));
                    cmd.Parameters.Add(new SqlParameter("M", -m));
                    MessageBox.Show("取款成功!");
                }
            }
        }

解决方案 »

  1.   

    刚刚用update T_Manager Set User_Money=User_Money-@M where User_Name=@User_Name
      cmd.Parameters.Add(new SqlParameter("M", m));
    也是不对的   请问下数据库中怎么实现int的数据的减法啊?
    其中User_Money是int类型
      

  2.   

      cmd.Parameters.Add(new SqlParameter("@User_Name",Id));
      cmd.Parameters.Add(new SqlParameter("@M", -m));
      

  3.   

    刚刚找到了几个小问题啊   con。open()没有打开,还有就是少了cmd.executeNoneQuery()
    可是加上之后为什么还是不行呢