Delphi中如何实现查询功能:如下介绍
用到ComboBox其Items有如图三条lines;用的是SQL数据库procedureTF_demo.Button3Click(Sender:TObject);//模...
用到ComboBox 其Items 有如图三条lines ;用的是SQL 数据库
procedure TF_demo.Button3Click(Sender: TObject); //模糊查询
begin
adotable1.close;
datasource1.DataSet:=adoquery1;
if trim(Edit1.Text)<>'' then
begin
adoquery1.close;
adoquery1.sql.clear;
adoquery1.SQL.Add('select * from people ');//添加条件
adoquery1.sql.add(' where name like '''+'%'+Edit1.text+'%'+'''');
adoquery1.open;
end; 这是我只查询姓名的代码 没有错 。现在想实现 如图的查询功能 ,选择不同的lines 输入相应内容 就可以按lines条件查询,并且 查询按钮会捕捉相应的lines给予提示,希望高手给出代码 和相关设置属性。 展开
procedure TF_demo.Button3Click(Sender: TObject); //模糊查询
begin
adotable1.close;
datasource1.DataSet:=adoquery1;
if trim(Edit1.Text)<>'' then
begin
adoquery1.close;
adoquery1.sql.clear;
adoquery1.SQL.Add('select * from people ');//添加条件
adoquery1.sql.add(' where name like '''+'%'+Edit1.text+'%'+'''');
adoquery1.open;
end; 这是我只查询姓名的代码 没有错 。现在想实现 如图的查询功能 ,选择不同的lines 输入相应内容 就可以按lines条件查询,并且 查询按钮会捕捉相应的lines给予提示,希望高手给出代码 和相关设置属性。 展开
3个回答
展开全部
看看你是不是这个意思 ?
procedure TF_demo.Button3Click(Sender: TObject); //模糊查询
begin
adotable1.close;
datasource1.DataSet:=adoquery1;
if trim(Edit1.Text)<>'' then
begin
adoquery1.close;
adoquery1.sql.clear;
adoquery1.SQL.Add('select * from people ');//添加条件
if trim(combobx1.text) = '按班级查询' then //防止输入items属性时,输入空格,可以加trim()命令,下面相同,需要可以自己加。
adoquery1.sql.add(' where 班级字段 like '''+'%'+Edit1.text+'%'+'''');
if combobx1.text = '按专业查询' then
adoquery1.sql.add(' where 专业字段 like '''+'%'+Edit1.text+'%'+'''');
if combobx1.text = '按姓名查询' then
adoquery1.sql.add(' where name like '''+'%'+Edit1.text+'%'+'''');
adoquery1.open;
end;
其它就是找到combobox1的items属性,双击
然后输入
按班级查询
按专业查询
按姓名查询
procedure TF_demo.Button3Click(Sender: TObject); //模糊查询
begin
adotable1.close;
datasource1.DataSet:=adoquery1;
if trim(Edit1.Text)<>'' then
begin
adoquery1.close;
adoquery1.sql.clear;
adoquery1.SQL.Add('select * from people ');//添加条件
if trim(combobx1.text) = '按班级查询' then //防止输入items属性时,输入空格,可以加trim()命令,下面相同,需要可以自己加。
adoquery1.sql.add(' where 班级字段 like '''+'%'+Edit1.text+'%'+'''');
if combobx1.text = '按专业查询' then
adoquery1.sql.add(' where 专业字段 like '''+'%'+Edit1.text+'%'+'''');
if combobx1.text = '按姓名查询' then
adoquery1.sql.add(' where name like '''+'%'+Edit1.text+'%'+'''');
adoquery1.open;
end;
其它就是找到combobox1的items属性,双击
然后输入
按班级查询
按专业查询
按姓名查询
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-04-23
展开全部
首先定义一个变量strColumn,
然后再进行判断
if trim(combobx1.text) = '按班级查询' then
strcolumn=‘class’
if combobx1.text = '按专业查询' then
strcolumn=‘major’
if combobx1.text = '按姓名查询' then
strcolumn='name'
最后,在查询语句中,
adoquery1.sql.add(' where '+strcolumn+' like '''+'%'+Edit1.text+'%'+'''');
搞定。。
然后再进行判断
if trim(combobx1.text) = '按班级查询' then
strcolumn=‘class’
if combobx1.text = '按专业查询' then
strcolumn=‘major’
if combobx1.text = '按姓名查询' then
strcolumn='name'
最后,在查询语句中,
adoquery1.sql.add(' where '+strcolumn+' like '''+'%'+Edit1.text+'%'+'''');
搞定。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Delphi基本没用过,不过你左面可以用下拉列表,查询时根据列表的数值(具体查Delphi的控件帮助),只改变这一句adoquery1.sql.add(' where name like '''+'%'+Edit1.text+'%'+'''');
对应不同的sql列名,其他的不用变化
具体代码还要等高人,我算是帮顶,呵呵
对应不同的sql列名,其他的不用变化
具体代码还要等高人,我算是帮顶,呵呵
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询