CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  数据库相关

数据库查询的问题,多谢,多谢

楼主zylnull()2002-05-27 20:01:56 在 Delphi / 数据库相关 提问

我想做一个数据查询程序,数据库中有几种参数,例如a类包括a1,a2,a3,b类包括b1,b2c类包括c1,c2,c3.我想达到的是在文本筐中输入a,则dbgrid中显示a1,a2,a3所有数据,如果输入a1,则只显示a1一列数据,该怎么查询  
          我用的是query控件.  
          多谢大家帮忙了 问题点数:100、回复次数:8Top

1 楼zjj_horse(抽烟的鱼)回复于 2002-05-27 20:08:09 得分 0

其实用table的filter,应该是很方便的。  
  自己看书吧。应该有很多例子的,好象是3月份的电脑编程技巧与维护上的一篇文章介绍的很详细的,可以找来看看。Top

2 楼netlib(河外孤星)回复于 2002-05-27 20:14:27 得分 0

SELECT   *   FROM   TABLE1   WHERE   (name   LIKE   'a%');  
  SELECT   *   FROM   TABLE1   WHERE   (name   LIKE   'a1%');  
  Top

3 楼hkhurus(野牛哥哥)回复于 2002-05-27 20:18:32 得分 0

同意       netlib(河外孤星)Top

4 楼netlib(河外孤星)回复于 2002-05-27 20:21:11 得分 100

with   query1   do  
  begin  
          close;  
          sql.Clear;  
          sql.add('select   *   from   m111   where   name   like   '''+edit1.Text+'''');  
          Open;  
  end;  
  你只用设置edit1.text就可改了。Top

5 楼zylnull()回复于 2002-05-27 20:30:52 得分 0

多谢诸位大虾  
        尤其多谢河外孤星   多谢Top

6 楼netlib(河外孤星)回复于 2002-05-27 20:34:39 得分 0

呵呵,不客气,别忘了结账。Top

7 楼netlib(河外孤星)回复于 2002-05-27 20:34:52 得分 0

呵呵,不客气,别忘了结账。Top

8 楼ahuige(灰不遛秋(前半身学医后半身学统计))回复于 2002-05-27 20:56:43 得分 0

问一下,你的a1   a2   a3是列还是行?  
  看上去象是指的列。如果是列的话,就可以用Tfield的visible属性来控制就行了。  
  以下的语句经调试通过  
  procedure   TForm1.button1Click(Sender:   TObject);  
  var   i:integer;  
          find:boolean;  
  begin  
      find:=false;  
      for   i:=0   to   query1.FieldCount-1   do  
          if       not   (query1.Fields[i].FieldName=edit1.Text)       then  
                        query1.Fields[i].visible:=false  
          else  
              begin  
              find:=true;  
              query1.Fields[i].visible:=true;  
              end;  
          if   not   find   then  
          for   i:=0   to   query1.FieldCount-1   do  
              if       query1.Fields[i].FieldName[1]=edit1.Text       then  
                  query1.fields[i].Visible:=true;  
  end;  
  不过要注意大小写,这里必须大小写一样才行,你想忽略大小写的话,自己处理一下就行了。Top

9 楼ahuige(灰不遛秋(前半身学医后半身学统计))回复于 2002-05-27 21:01:35 得分 0

不好意思,河外孤星老兄,你的方法如果是在字段又有a1,又有a11的情况下就不行了。因为a1已经精确匹配了,但是a11还是要出来,不过,如果发贴子的老兄愿意让两个都出来的话,也就可以了。Top

10 楼ahuige(灰不遛秋(前半身学医后半身学统计))回复于 2002-05-27 21:02:16 得分 0

不好意思,河外孤星老兄,你的方法如果是在字段又有a1,又有a11的情况下就不行了。因为a1已经精确匹配了,但是a11还是要出来,不过,如果发贴子的老兄愿意让两个都出来的话,也就可以了。Top

相关问题

  • 数据库查询!
  • 数据库查询
  • 数据库查询~~~~
  • 数据库查询~~~~
  • 数据库查询~~~~
  • 数据库查询
  • 数据库查询
  • 查询数据库
  • 数据库查询
  • 数据库查询

关键词

  • 数据
  • 多谢
  • 老兄
  • 大小写
  • query
  • visible
  • 河外孤星
  • edit
  • 话
  • fields

得分解答快速导航

  • 帖主:zylnull
  • netlib

相关链接

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

广告也精彩

反馈

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