日期:2014-05-18  浏览次数:21196 次

操作数数据类型 text 对于 subtract 运算符无效。
C# code

    SqlConnection conn;
    string sqlstr = "update KuCun set ShuLiang =ShuLiang-'" + TextBox2.Text.ToString().Trim() + "' where cast(BianHao as varchar(55))='" + TextBox1.Text.ToString().Trim() + "' and cast(ChiCun as varchar(55))='" + TextBox3.Text.ToString().Trim() + "'";
       
string connection = ConfigurationManager.ConnectionStrings["ErpConnectionString"].ConnectionString;
        conn = new SqlConnection(connection);  
        SqlCommand cmd = new SqlCommand(sqlstr, conn);
       
            conn.Open();
            cmd.ExecuteNonQuery();



------解决方案--------------------
你最好执行的时候对ShuLiang字段进行一下数据类型转换吧,text类型不直接支持减法运算的,你在查询分析器中执行为啥能通过,不清楚,难道帮你做了转换或者优化?
------解决方案--------------------
你的shuoliang 应该是数字吧,那 数字-‘字符串’,你觉得正确吗,你这样是构造sql 语句,揣测你的意思,应该是 数量-某数字 吧,那就把单引号去掉