ADOQuery?(100分)

  • 主题发起人 chuanwang
  • 开始时间
C

chuanwang

Unregistered / Unconfirmed
GUEST, unregistred user!
下面的SQL语句,在Access中有返回值,
Select * From TableName Where FieldName Like '3*'
在Delphi中,下面的语句无返回值,
ADOQuery.SQL.Add('Select * From TableName Where FieldName Like ''3*''');
但是,下面的语句有返回值。
ADOQuery.SQL.Add('Select * From TableName Where FieldName Like ''314''');

为什么?
 
老兄,不是*号,是%号
 
在delphi里要用%
 
是啊,试试用'3%'吧
 
应该是''3%''
 
各位老大,先测试一下好吗?
'3%'根本就不行!
 
我感觉你是瞎说的,就是 % 的啊。
with ADOQuery1 do
Begin
Close;
SQL.Clear;
SQL.Add('select * from Link_Table where id like ''3%''');
Open;
end;
没问题的。 D6+Access2k+Win2k Pro。
 
是%,你的字段是什么类型的,如果是数值的话,你最好用>或<,字符的话就用%
 
你是不是PREPARE了,
我的SQL SERVER 7 + DELPHI6
ADOQUERY。PREPARED := TRUE;
ADOQuery.SQL.Add('Select * From TableName Where FieldName Like ''%''');
ADOQUERY。OPEN
只能选出数据是一个字符的,不PREPARE 是正常的
ADOQuery.SQL.Add('Select * From TableName Where FieldName Like ''%%''');
得到两个字符

 
这样可以
ADOQuery.SQL.Add('Select * From TableName Where FieldName Like '+''''+'3%'+'''');
 
数据库为access 时,通配符为'*',
支持标准sql92 的数据库,如mssql,db2,oracle 等,通配符为'%' .
 
这样可以理解
'"3%"'===> Ok
不是 ''3%'' XXXX
 

Similar threads

回复
0
查看
750
不得闲
S
回复
0
查看
987
SUNSTONE的Delphi笔记
S
S
回复
0
查看
805
SUNSTONE的Delphi笔记
S
顶部