delphi中的sql语句引号问题
Combobox1中时选的是表名,combobox2选的是列名。。能运行,但运行是会报错。我觉得是不是我sql语句中的语法错了?引号怎么使用很让我头疼。ADOQuery1...
Combobox1中时选的是表名,combobox2选的是列名。。能运行,但运行是会报错。
我觉得是不是我sql语句中的语法错了?引号怎么使用很让我头疼。
ADOQuery1.SQL.Add('select * from '+''''+Combobox1.Text+'''');
ADOQuery1.SQL.Add('where'+''''+Combobox2.Text+'''');
ADOQuery1.SQL.Add( 'like ''%'+edit1.text+'%'''); 展开
我觉得是不是我sql语句中的语法错了?引号怎么使用很让我头疼。
ADOQuery1.SQL.Add('select * from '+''''+Combobox1.Text+'''');
ADOQuery1.SQL.Add('where'+''''+Combobox2.Text+'''');
ADOQuery1.SQL.Add( 'like ''%'+edit1.text+'%'''); 展开
2个回答
展开全部
qryAdo.SQL.Text:='update '+ tempTableName+' set 是否合格='''+OkNGResult+''''+' where 序号='+inttostr(current_numorder);
qryAdo.SQL.Text:='update'+tempTableName+'set是否合格='+QuotedStr(OkNGResult)+'where 序号='+IntToStr(current_numorder);
这两句SQL语句等价,在写的时候只需把字符型的用QuotedStr转换,日期用QuotedStr转换,QuotedStr(FormatDateTime('yyyy-MM-dd',now)),整形的用IntToStr转换,其他类型的数据全部用QuotedStr转换。这样写避免了麻烦死的引号问题,只需单引号既可以全部解决问题,关键不会出错。引号也是把我搞得晕头转向的。
qryAdo.SQL.Text:='update'+tempTableName+'set是否合格='+QuotedStr(OkNGResult)+'where 序号='+IntToStr(current_numorder);
这两句SQL语句等价,在写的时候只需把字符型的用QuotedStr转换,日期用QuotedStr转换,QuotedStr(FormatDateTime('yyyy-MM-dd',now)),整形的用IntToStr转换,其他类型的数据全部用QuotedStr转换。这样写避免了麻烦死的引号问题,只需单引号既可以全部解决问题,关键不会出错。引号也是把我搞得晕头转向的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询