请问一下我用SQL如何能实现多个字段的组合模糊查询?(50分)

  • 主题发起人 主题发起人 beautylily
  • 开始时间 开始时间
B

beautylily

Unregistered / Unconfirmed
GUEST, unregistred user!
大家好!小女子刚入门要学!现在要用SQL写个组合模糊查询的语句,具体是例如用户输入电影名
,在输入一个导演名,再选择个满意程度,然后模糊找出符合这三个要求的记录!并将
它们在DBgrid中显示出来。请问要怎样写阿?用的是BDE做的。哪位哥哥帮帮妹妹阿^_^!
帮妹妹写个完整的!谢谢^_^!
 
with tempdo
//temp:AdoQuery
begin
Close;
Sql.clear
Sql.Add('select * from db where 电影名 like ''%'+Edit1.text+'%''');
Sql.Add(' and 导演名 like ''%'+Edit2.text+'%''')
Sql.Add(' and 满意度 like ''%'+comboBox1.text+'%''')
open;
end;

//Datasource1的dataset为Temp
//DbGrid的Datasource为Datasource1
 
我用的是BDE的Tquery哦!也行吗?我好像找到了但是表单里面的其他关联的内容
指针还是指在原来工作区,没有显示到我找的记录哦!yczjs哥哥或者还有其他哥哥
再帮帮小女子了^_^!
 
with Query1do
begin
Close;
Sql.clear
//如果除了filmtable表以外,还要从其它的表里面取数就要进行连接
//将filmtable和table2进行连接耶,这是关键哦
//进行连接的代码为:f.编号=t2.编号
Sql.Add('select t1.* from filmtable f,table2 t2 where f.编号=t2.编号 and f.电影名 like ''%'+Edit1.text+'%''');
Sql.Add(' and f.导演名 like ''%'+Edit2.text+'%''')
Sql.Add(' and f.满意度 like ''%'+comboBox1.text+'%''')
open;
end;
 
with Query1do
begin
Close;
Sql.clear
//将table1和table2进行连接耶,这是关键哦
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~怎样连接阿?不懂:(
Sql.Add('select t1.* from table1 t1,table2 t2 where t1.编号=t2.编号 and t1.电影名 like ''%'+Edit1.text+'%''');
Sql.Add(' and t1.导演名 like ''%'+Edit2.text+'%''')
Sql.Add(' and t1.满意度 like ''%'+comboBox1.text+'%''')
open;
end;

//Datasource1的dataset为Temp
//DbGrid的Datasource为Datasource1
 
"好像找到了但是表单里面的其他关联的内容
指针还是指在原来工作区",不知道是什么意思?
用sql应该是不存在所谓"指针"一说的,还有"工作区"这个说法应该是Foxpro里面才有的吧.
如果你的filmtable是用的table元件,那么在程序代码中首先将filmtable的连接方式改为
Query来连接,然后执行前面的那段SQL,代码如下:
procedure TForm1.Button1Click(Sender: TObject)
begin
Datasource1.dataset :=Query1 //原来是Table1,为了使用sql查询现在要变过来才行
with Query1do
begin
Close;
Sql.clear
Sql.Add('select * from db where 电影名 like ''%'+Edit1.text+'%''');
Sql.Add(' and 导演名 like ''%'+Edit2.text+'%''')
Sql.Add(' and 满意度 like ''%'+comboBox1.text+'%''')
open;
end;
end;
 
小唐哥哥,真的好谢谢你阿!^_^!成功了我的要求现在!但是有另外一个问题出现了
我改了dataset后原来那些dbedit连接的数据运行的时候变成了空白了!怎么办阿?
 
嘻嘻我的active没改:P谢谢小唐哥!我们交个朋友好不好^_^!
以后我有问题可不可以问你阿^_^!
 
我们交个朋友好不好^_^!
行呀,我的QQ:14515623
 
多人接受答案了。
 
:beautylily的嘴真甜,小唐兄弟我羡慕死你了。[:(]
 
我们也可以交个朋友阿!不过以后可能要烦住你就是了^_^!~
 
后退
顶部