CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
花落谁家,你作主! 盛大widget设计大赛英雄榜
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  VCL组件开发及应用

如何实现数据库中的查询显示啊?

楼主ybduck(duck)2003-10-03 09:25:53 在 Delphi / VCL组件开发及应用 提问

现已经设置好ADOTable1,DataSource1,DBGrid1,并且已经连上数据库,DBGrid1中已经能显示出数据库中所有记录(ID/name/nationality/address/).我想只在DBGrid1显示符合条件的记录,但不在数据库中删除不符合条件的记录.  
  比如nationality=China,应该怎么做啊?  
  小弟对ADOTable1进行如下编程:  
  with   ADOTable1   do  
      begin  
          Filtered:=False;  
          Filter:='nationality='+Quoted('China');  
          Filtered:=True;  
      end;  
   
  可是编译的时候,系统警告'ADOTable1:Filet   property   cannot   be   used   for   detail   tables',这是什么原因啊?  
  该怎么正确实现我的需求啊?  
  问题点数:0、回复次数:7Top

1 楼tjff2000(fengyun)回复于 2003-10-03 09:36:24 得分 0

按字面好像是说过滤属性是不能用于明细表的,你可以用adoquery的。Top

2 楼lihao_ningxia(耗子)回复于 2003-10-03 10:05:07 得分 0

use   query   and   sqlTop

3 楼cdzjhmao()回复于 2003-10-03 10:20:36 得分 0

with   ADOTable1   do  
      begin  
          Active:=false;  
          Filter:='nationality=China';  
          Filtered:=True;  
          Active:=true;  
      endTop

4 楼superlionet(彼岸)回复于 2003-10-03 10:29:51 得分 0

用SQL语句多方便啊。   你这只是单纯的过滤。用SQL语句可以方便好多。能写出很多种查询条件的。Top

5 楼luo1105(凡星)回复于 2003-10-03 11:56:38 得分 0

with   ADOQuery1   do  
  begin  
    close;  
    SQL.clear;  
    SQL.Add('select   *   from   表名');  
    SQL.Add('where   nationality="China"   ');  
    SQL.open;  
  end;Top

6 楼BarryW(小红冒)回复于 2003-10-03 15:44:06 得分 0

 
  with   ADOTable1   do  
      begin  
          Active:=false;  
          Filter:='nationality=China';  
          Filtered:=True;  
          Active:=true;  
      end  
   
  Top

7 楼siwuge(五哥)回复于 2003-10-03 16:56:03 得分 0

用ADOQUERY,如果不改变查询结果,就直接在ADOQUERY的SQL属性中写:select   *   from   表名   where   nationality=China  
  如果想设置可变的查询,就在窗体上加一个EDIT(字段名)或COMBOBOX(表名),然后定义一个查询变量如:strsql:string;             然后在查询按钮的onclick事件中用:  
  begin  
    adoquery1.close;  
    adoquery1.SQL.clear;  
      strsql:='select   *   form   '  
  if   trim(edit1.text)<>''   then  
  strsql:=strsql+'"'+combobox1.text+'"'+'where   ''"'+edit1.text+'"';  
    adoquery1.SQL.Add(strsql);    
  adoquery1.open;    
  end;  
  (这里的combobox中必须先选择表名)Top

相关问题

  • 如何把查询数据库的结果实现滚屏显示
  • sql server数据库:如何实现树形结构的递归查询显示?
  • 数据库查询在新窗口中显示明细数据,如何实现?
  • 如何实现oracle数据库查询?
  • 数据库查询与显示
  • 数据库查询,DBGrid显示问题
  • 数据库的的问题!很简单的!用Query实现查询显示!高手来帮帮忙!SQL语句!
  • 数据库查询!
  • 数据库查询
  • 数据库查询~~~~

关键词

  • 查询
  • 数据库
  • active
  • sql
  • adoquery
  • nationality
  • china
  • adotable
  • 显示
  • filtered

得分解答快速导航

  • 帖主:ybduck

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo