Delphi 如何将满足不同查询条件的记录显示在一个表中

一个数据库表中有6个时间字段,每个字段的值都是按照录入日期加1 2 3 6 12 24个月自动计算生成的,我想统计一下表中含有某个日期的记录,并将包含该日期的记录显示在一个DBGRID中,计算满足条件的记录数,请问该如何实现?
我是用6个查询语句,ADOQUERY连接,6次查询的结果最后怎样写入到一个ADOQUERY1中?
如何在Delphi语句实现啊,我是用ADOQUERY+DATASOURCE连接数据库的,谁可以帮我写出这段代码啊,要能求出满足条件的记录的个数。急等,谢谢啊!

如果你已经用6个查询语句查询出来了的话,可以直接用union 把六个查询连接到一起,要注意的时,这六个查询的所查的字段名必须一样,如果不一样可以用 as 关键字,如:
select f11 as a, f12 as b ,f13 as c from t1
union
select f21 as a, f22 as b ,f23 as c from t2
union
select f31 as a, f32 as b ,f33 as c from t3追问

我是要在同一个表中搜索不同字段中等于同一个值的记录,那在Delphi中我应该这样写吗:
with ADOQUERY1 DO
begin
close;
sql.clear;
sql.add('select 单号,姓名,日期,... from table1 where 1st='**' union select 单号,姓名,日期,... from table1 where 2nd='**' union select 单号,姓名,日期,... from table1 where 3rd='**' union select 单号,姓名,日期,... from table1 where 4th='**'...')吗?
open;急

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-06-30
把结果先放成临时表里,再一次读出来就行啦
第2个回答  2011-06-30
这问题问得糊涂啊,ADOQuery是Query而不是DataSource.
要做到,可以用以下语句
Insert Into tempTable select ....
然后新建一个tempQuery,里面的Query这样写
select * from tempTable
然后把DBGrid的DataSource指向这个tempQuery
第3个回答  2011-07-01
一条语句把六个时间等于指定日期的条件“或”起来就行呀,查询命令如下:
select * from 表名
where 时间字段1 = 某个日期
or 时间字段2 = 某个日期
or 时间字段3 = 某个日期
or 时间字段4 = 某个日期
or 时间字段5 = 某个日期
or 时间字段6 = 某个日期

Delphi 如何将满足不同查询条件的记录显示在一个表中
如果你已经用6个查询语句查询出来了的话,可以直接用union 把六个查询连接到一起,要注意的时,这六个查询的所查的字段名必须一样,如果不一样可以用 as 关键字,如:select f11 as a, f12 as b ,f13 as c from t1 union select f21 as a, f22 as b ,f23 as c from t2 union select...

Delphi关于多次的查询结果返回到一个DBGRID里的问题
建议你用stringGrid 你用list的话,你不可能把list给用户维护,list里面的东西只能越来越多,而你用stringGrid的话,就灵活多了,你可以直接对stringgrid进行操作

delphi组合查询
将构造好的SQL语句清空ADOQuery1的SQL属性,并添加构造完成的SQL条件。接着,打开ADOQuery1进行查询。此过程实现了一个基础的查询功能,根据用户输入的进货厂家信息,查询药品信息表中符合进货厂家条件的所有记录。

delphi多查询条件自由组合问题
据个人理解,貌似不是什么大难题,你只要检查生成的语句中,最后一个字符是否是逗号,如果是逗号就删除。示例代码如下:s1 := CheckBox1.Hint+''+CheckBox2.Hint+''+CheckBox3.Hint+''+CheckBox4.Hint+''+CheckBox5.Hint+''+CheckBox6.Hint+''+CheckBox7.Hint+''+CheckBox8.Hint; if s1[Leng...

DELPHI关于查询条件用LISTVIEW保存的问题
要写个配置文件(*.ini)在你右边还要加个 按钮 名字为保存,点击保存就把你的设置 保存到 *.ini (需要你写代码)这样,你点击左边的 就读取 配置文件 *.ini里面的内容 然后在把读取的东西,然后写到输入框里(自己要添加把读取的内容写到输入框的代码)...

如何实现delphi的多条件查询,要用到两个checkbox的
是用CHECKBOOK按钮选定是否要查询此字段内容。可以单选,也可双选是吧?adoquery1.close;adoquery1.sql.clear;adoquery1.sql.add('select * from 表名');adoquery1.sql.add('where 字段名<>'asdfasfsadf');\/\/随便写 if checkbox.checked then adoquery1.sql.add(' and 用户名='''+edit1....

delphi中DBGrid里的数据满足条件的以显示红色
1、首先将dbgrid的属性options中的dgRowSelect的值设置为true2、然后在dbgrid的DrawColumnCell时间中写如下代码 if Adoquery1.FieldByName('用户类型').AsString = '免费' then Dbgrid1.Canvas.Font.Color := clred else Dbgrid1.Canvas.Font.Color := clBlack;DBGrid1.DefaultDrawColumnCell(Rect,...

在DELPHI中如何在dbgrid 显示查询数据
close;adoquery1.sql.clear;adoquery1.sql.add('select * from 表名 where 条件');adoquery1.open ;用一个adoconnect连接数据库, connected设置为true。用一个adoquery,connection设置为adoconnect。database的dataset设置为adoquery,active设置为true,dbgrid的DataSource设置为datasource1 ...

请问Delphi显示查询结果的语句
1.adoquery1.Close;adoquery1.SQL.Clear;adoQuery1.SQL.Add('select 工号,家庭住址 from 表 where 工号=:id ');adoquery1.Parameters.ParamByName('id').Value := Edit1.text;adoquery1.open;家庭住址要显示在Edit的Text里面的语句怎么写?用一个DBEdit控件的数据集设置为adoquery1,再设置...

delphi中如何统计满足某一条件的记录数目?最好用query实现,别的方法...
部门代码 画面控件:ADOConnection,ADOQuery,edit ,button1 procedure TForm1.Button1Click(Sender: TObject);begin adoquery1.Close;adoquery1.SQL.Text := 'SELECT * FROM EMPLOYEE WHERE 部门代码=''1234''' ;adoquery1.Open;edit1.Text := IntToStr(adoquery1.Recordcount);end ...

相似回答
大家正在搜