string suy = "Update Table4 Set Dname='" + textBox1.Text.Trim() + "',Dleader='" + textBox2.Text.Trim() + "',Re='" + textBox3.Text.Trim() + "' where Dname='" + textBox1.Text.Trim() + "',Dleader='" + textBox2.Text.Trim() + "',Re='" + textBox3.Text.Trim() + "'";
更新数据库的表,这样写是否正确?
我是指定更新的行,运行出错了说“',' 附近有语法错误。”

解决方案 »

  1.   

    where 后面多个条件要用and
      

  2.   

    string suy = "Update Table4 Set Dname='" + textBox1.Text.Trim() + "',Dleader='" + textBox2.Text.Trim() + "',Re='" + textBox3.Text.Trim() + "' where Dname='" + textBox1.Text.Trim() + "' and Dleader='" + textBox2.Text.Trim() + "' and Re='" + textBox3.Text.Trim() + "'";
      

  3.   

    对于字符串常量,要对其中的'号转义。例如+ textBox1.Text.Trim().Replace("'","'') +不转义的代码,一看就不能让其通过。随编写个带'号的测试,它就给胡乱执行sql了。
      

  4.   

    嗯,sorry,少写了一个双引号啦。
      

  5.   

    这样长的sql还是参数化吧,出错了得眼盯着找老半天标点的错误呢
     此消息通过 【CSDN论坛 Winform测试版】 回复!