在关键字like附件有语法错误(20)

  • 主题发起人 主题发起人 hanxin
  • 开始时间 开始时间
H

hanxin

Unregistered / Unconfirmed
GUEST, unregistred user!
adoq.sql.add('select * from '+tablename+'where CPbm like'''+formatDateTime('yyyymmdd',now)+ '%''');老是这句出错,出现在关键字like附近有语法错误,请大家帮忙!tablename是再函数中定义的代表表名的字符串
 
我看着是你的WHERE 前少空格,你加个空格试试adoq.sql.add('select * from '+tablename+' where CPbm like'''+formatDateTime('yyyymmdd',now)+ '%''');
 
adoq.sql.add('select * from '+''+tablename+''+' where CPbm like'+''''+formatDateTime('yyyymmdd',now)+'%''''');把这个原样贴回去~~
 
adoq.sql.add('select * from '+''+tablename+''+' where CPbm like'+''''+formatDateTime('yyyymmdd',now)+'%''''');把这个原样贴回去~~ ------------------------------------------就20分,抢什么抢!李翔鹏,已经说明原因了。况且你的 +''+tablename+''+ 和 +tableName+ 有区别吗?又不是多了个空格,真是多此一举。还有,你最后是+'%''''',你不觉都多了单引号吗?回答别的问题我是为了分,这次我不是为了分!
 
楼上高手说的是阿,有的人回答的不正确容易误导人阿。
 
我按照大家的意思试了,又出现在关键字where附近有语法错误
 
有没有调用adoq.sql.clear;?-----------------------showmessage ( adoq.sql.text );把你的sql显示出来,自己先看看有没有什么SQL语法问题,别非要用程序来测试,看到问题不知所措。
 
Adoq.SQL.Add(Format('Select * From TableName where CPBM Like %s',[QuotedStr('%' +DateToStr(Now) + '%')]))
 
我记得select * from 表名 如果表名是动态指定的话需要这样写吧?query1.sql.add('exec(select * from '+tablename+')');
 
OPEN adoq 之前用showmessage(adoq.SQL.Text)看看SQL语句对不对不就知道哪里错了吗
 
TO:znxia就20分,抢什么抢!李翔鹏,已经说明原因了。况且你的 +''+tablename+''+ 和 +tableName+ 有区别吗?又不是多了个空格,真是多此一举。还有,你最后是+'%''''',你不觉都多了单引号吗?回答别的问题我是为了分,这次我不是为了分! 我的主要目标不是分,而是解决问题,哥们有点过激了吧?况且这分也不能当饭吃~~
 
呵呵,是有点过激了,那天心情不好。对不起!
 
adoquery1.sql.add('select * from '+ tablename + 'where CPbm like'+quotedstr(formatDateTime('yyyymmdd',now)+'%'));
 
没关系~~呵呵~~感觉你也挺活的~~我的水平有限,可能还有还要向你讨教~~[:)]望不惜赐教啊~~
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
606
import
I
I
回复
0
查看
535
import
I
I
回复
0
查看
665
import
I
后退
顶部