前辈门,快帮帮我,利用query查询(0分)

  • 主题发起人 主题发起人 云飞
  • 开始时间 开始时间

云飞

Unregistered / Unconfirmed
GUEST, unregistred user!
请问,我这小程序如何修改一下可以查询到以edit1.text中所输入的字符为开头的所有内容。谢!
close;
sql.clear;
sql.add('select *');
sql.add('from kucuen.dbf');
sql.add('where wzcode=:nam');
parambyname('nam').asstring:=edit1.text;
prepare;
open;
 
'select * from TABLE where wzcode like '''+Edit1.Text+'''*'
 
或者:
close;
sql.clear;
sql.add('select *');
sql.add(' from kucuen.dbf');//from 前加空格
sql.add(' where wzcode like :nam');//where前加空格
parambyname('nam').asstring:=edit1.text + '%';
prepare;
open;

 
模糊查询吗
 
sql.add(' where wzcode like ''[a-d]%''');可以选出以a至d之间的字符开头的信息
sql.add(' where wzcode like ''[^a-d]%''');可以选出不以字母a至d之间开头的信息


 
对不起错了,
是'select * from TABLE where wzcode like '''+Edit1.Text+'%'''
“%”代表一串,“_”代表一个字符。

 
select * from table where wzcode like '''+edit1.text+'%'''
 
query1.sql.add('select * from yourtable where wzcode like '''+edit1.text+'%''');
我试过了,敢定没问题!
 
楼上各位的答案能够解决你的问题,如果你要查询包含edit1中字符的记录的话(就是
这个字符在任意位置),用这个:
query.Close;
query.SQL.Clear;
query.SQL.Add('select * from '+tablename+' where '+fieldname+' like ''%'+editname.Text+'%''');
query.Open;
 
'select * from TABLE where wzcode like '''+Edit1.Text+'%'''
试试
应该可以的
 
后退
顶部