请问我要用多个不确定的条件组合进行模糊查询,用SQL语句怎样写才行? 急。。。(30分)

  • 主题发起人 主题发起人 yulo
  • 开始时间 开始时间
Y

yulo

Unregistered / Unconfirmed
GUEST, unregistred user!
这个问题也即是怎样将不确定的多个TEdit.Text加动态地加到SQL语句中作为模糊查询的组合条件!
本人的是个编程的新手,请大虾们多多指教!!!
 
SELECT * FORM 表名 WHERE 字段名1 LIKE %你要查询的信息1% AND 字段名2 LIKE %你要查询的信息2%
 
大哥! 是很多个条件而且是不确定的好多种组合呀!
例如:有 Edit1,Edit2,Edit3,Edit4,Edit5用户可能只输入其中的一个或多个后点击“模糊查询”
问题就是怎样将在些可能的组合有一组代码来实现!
 
算了,你还是去看这里吧
http://www.delphibbs.com/delphibbs/dispq.asp?lid=746136
 
sqlyj:='select * from table1 where 1=1'

if edit1.text<>'' then
sqlyj:=sqlyj+' and xxx like '+''''+'%'+edit1.text+'%'+'''';
if edit2.text<>'' then
sqlyj:=sqlyj+' and yyy like '+''''+'%'+edit2.text+'%'+'''';
 
怎一个懒字了得
 
Select *
From Table
Where
(:Param1 = '' or Field1 = :Param1) and
(:Param2 = '' or Field2 = :Param2) ...
这样也可以,不用动态SQL
 
参考Demos/db/Filter例程
 
为何用TEDIT,用TCHECKBOX不是更好吗?
VAR SQLSTRING:STRING;

SQLSTRING:=‘SELECT * FROM UTABLE’;
IF CHECKBOX1。CHECKED THEN
SQLSTRING:=SQLSTRING+CHECKBOX1。CAPTION;
。。。
 
w8u已经回答了
 
谢谢,各位! 问题解决了!

我很菜,但我并不懒!
 
sql.add('select * from *** where field1 like '''+edit1.text+'%'''' and field2 like '''+edit3.text+'%'+'''');
 
多人接受答案了。
 
后退
顶部