OleDbCommand myCommand = new OleDbCommand("update warehouse set number = number + " + num + " where name = '" + fname + "'  and username = '" + uid + "'", conn);
其中number是int,uid和fname都是string……为啥会提示UPDATE 语句的语法错误……我之前也用到过update啊,就没出现这种问题……

解决方案 »

  1.   

    set number = number + " + num +  -》》set number = " + num +
      

  2.   

    set number = number + " + num + "
    这什么意思?将表中变量+num再更新?不能这么写吧,你这么写=号后面的number没取过值怎么加
      

  3.   

    Update 语句
    Update 语句用于修改表中的数据。语法:
    UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
    UPDATE Person SET FirstName = 'Fred' WHERE LastName = 'Wilson' 
    UPDATE Person SET Address = 'Zhongshan 23', City = 'Nanjing' WHERE LastName = 'Wilson'先试试这样set number = number + 1
    这样肯定时可以的,你的问题就是" + num + "错了,你这是在int型数据number加上一个" + num + "字符串啊,所以报错。
      

  4.   

    string sql=string.Foramt("update warehouse set [number] = [number] +{0} where [name] = '{1}' and [username] = '{2}'",num ,fname ,uid);
    或OleDbParameter
      

  5.   

    ("update warehouse set number = number + " + num + " 这一节肯定有问题.LZ确定以前这SQL真的能用.