怎样用sql语言同时进行精确查询和模糊查询?(0分)

  • 主题发起人 主题发起人 zhuifeng
  • 开始时间 开始时间
Z

zhuifeng

Unregistered / Unconfirmed
GUEST, unregistred user!
有三个edit。根据edit.text的值将查询的结果显示出来。其中有两个是精确查询,一个
是模糊查询,请问sql.add语句应该怎样写?
不好意思,我没分了,请谅解!
 
若Edit1.Text和Edit2.Text对应精确查找字段,Edit3.Text对应模糊查找字段,则有:
方法1、直接使用字符串的连接
Sql.Text:='select * from 表名 where 字段1='+Edit1.Text+' and 字段2='+Edit2.Text+' and 字段3 like "'+Edit3.Text+'%"';
方法2、使用参数化查询
Sql.Text:='select * from 表名 where 字段1=:字段1 and 字段2=:字段2 and 字段3 like ":字段3%"';
ParamByName('字段1').AsString:=Edit1.Text;
ParamByName('字段2').AsString:=Edit2.Text;
ParamByName('字段3').AsString:=Edit3.Text;
 
如果只用 sql.add语句写应该怎样写啊?
 
问题提的太模糊。。。
 
select * from table where fieldname='xxx' 精确
select * from table where fieldname like '%xxx%' 模糊 %表示通配符,'最好用#39 表示方便些
 
倒,这倒想不过来呀,这样了:
若Edit1.Text和Edit2.Text对应精确查找字段,Edit3.Text对应模糊查找字段,则有:
方法1、直接使用字符串的连接
Sql.Clear;
Sql.Add('select * from 表名 where 字段1='+Edit1.Text+' and 字段2='+Edit2.Text+' and 字段3 like "'+Edit3.Text+'%"');
方法2、使用参数化查询
Sql.Clear;
Sql.Add('select * from 表名 where 字段1=:字段1 and 字段2=:字段2 and 字段3 like ":字段3%"');
ParamByName('字段1').AsString:=Edit1.Text;
ParamByName('字段2').AsString:=Edit2.Text;
ParamByName('字段3').AsString:=Edit3.Text;
 
to YNTW ;
我照你说的已经修改过来了,可怎么运行的时候还是抱错?
 
你的字段是数值型的还是字符型的,检查一下数据类型把。
 
我的问题已经解决了,谢谢大家的帮助,
不好意思,我是新手,没有分了,请大家谅解,!
谢谢YNTW
 

Similar threads

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