高手帮忙解决下,sql语句字符串
'upadate test set songname=''' + trim(str1)
+''',spell=''' + trim(str2)
+''',songer=''' + trim(str3)
+''' where songno=''' ADOquery1.filedbyname('songno').asstring + '''';
现在问题是一执行到str1、str2、str3 某一个值为英文的时候就会出现查询语句语法错误,输出来一看全部是少了一个单引号,如update test set songname='按时',spell='打算',songer='CSDN
后面的都没执行了 怎么解决
[解决办法]
'upadate test set songname=''' + trim(str1)
+''',spell=''' + trim(str2)
+''',songer=''' + trim(str3)
+''' where songno=''' ADOquery1.filedbyname('songno').asstring + '''';
修改代码如下:
'upadate test set songname=''+ quotedstr(trim(str1))
+',spell=' + quotedstr(trim(str2))
+',songer='+ quotedstr(trim(str3))
+' where songno=''+quotedstr(ADOquery1.filedbyname('songno').asstring) ;
给分吧
[解决办法]
adoquery.Sql.Text := 'update test set songname=''' + trim(str1)+''',spell=''' + trim(str2)+''',songer=''' + trim(str3)+''' where songno=''' +ADOquery1.filedbyname('songno').asstring + '''';
[解决办法]
对于变量,不要自己加'upadate test set songname='+'''+str1+'''这样
应该用Quotedstr,如'upadate test set songname='+Quotedstr(str1)
[解决办法]