CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  VCL组件开发及应用

条件查询问题.

楼主ljun1979(江南云)2002-01-31 16:01:17 在 Delphi / VCL组件开发及应用 提问

在一个SQL表中:  
  用户编号     用户地址         投诉日期         用户投诉内容  
  1                 似的                 2002-1-23     似的地方  
  2                 围绕不             2002-1-30     士大夫法  
  .  
  .  
  .  
  .  
  12             方法年             2002-2-1         搞活们  
  其中字段:用户编号     数据类型是char  
                  用户地址     数据类型是varchar    
                  投诉日期     数据类型是datatime  
              用户投诉内容   数据类型是varchar    
  在界面上放2个combobox,一个edit1,一个button,一个dbgrid1,一个table1  
  在combobox1中选择字段名称,在combobox2中选择条件如>,>=,=等,在edit1中输入条件值,点击button进行查询.  
  如果数据类型是char我想应该没问题,我想请问数据类型是varchar和datatime的话应该怎样解决.  
  比如我在combobox1中选择投诉日期   在   combobox2中选择条件>   在edit1输入条件2002-1-25,点击button,我希望在表中出现日期2002-1-25以后的数据,该怎样实现!   问题点数:50、回复次数:15Top

1 楼solar(天哪,忘了我是什么时候注册的了!)(int argc, char *argv[])回复于 2002-01-31 16:05:29 得分 3

加上引号Top

2 楼ljun1979(江南云)回复于 2002-01-31 16:08:33 得分 0

如果只是char的话,查询已经基本解决,就是着个转换问题,在哪里转换!Top

3 楼phosphor(蜗牛)回复于 2002-01-31 16:10:57 得分 4

datetimepicker控件or'''+2001-1-25+'''Top

4 楼ljun1979(江南云)回复于 2002-01-31 16:15:36 得分 0

to:phosphor(蜗牛)   
  你能说的具体一点吗!在哪里加!~举个例子吧!Top

5 楼ljun1979(江南云)回复于 2002-01-31 16:17:13 得分 0

应为是对所有的字段查询,所以是不是先要判断字段呀!Top

6 楼Lion_sj(一棵葱)回复于 2002-01-31 16:21:08 得分 3

如果写在查询条件里,应该加上‘  
  不是的话,可以将edit.text转换为日期型Top

7 楼ljun1979(江南云)回复于 2002-01-31 16:24:30 得分 0

最主要的是,也有char型的,所以我是不是先要判断字段,才能将edit.text转换为日期型   .Top

8 楼Lion_sj(一棵葱)回复于 2002-01-31 16:31:11 得分 0

我觉得应该是的Top

9 楼dregs2002(伤心人渣)回复于 2002-01-31 16:31:18 得分 0

http://www.csdn.net/Expert/topic/511/511105.shtmTop

10 楼ljun1979(江南云)回复于 2002-01-31 16:46:22 得分 0

to:Lion_sj(一棵葱)  
  应该   是怎么样的呀! Top

11 楼ljun1979(江南云)回复于 2002-01-31 16:52:51 得分 0

我的代码这样的.  
  var  
      //myfield记录字段名称,myopt记录条件符号,myval记录条件值  
      myfield,myopt,myval:string;  
  procedure   TForm3.FormActivate(Sender:   TObject);  
  var  
    i:integer;  
  begin  
      for   I:=0   to   Table1.Fields.Count-1   do  
            begin  
              ComboBox1.Items.Add(Table1.Fields[i].FieldName);  
            end;  
  end;  
   
  procedure   TForm3.Button2Click(Sender:   TObject);  
  begin  
        Table1.Filtered:=False;  
        myfield:=ComboBox1.Text;  
        myopt:=ComboBox2.Text;  
        myval:=Edit1.Text;  
        Table1.Filtered:=True;  
  end;  
   
  procedure   TForm3.Table1FilterRecord(DataSet:   TDataSet;  
      var   Accept:   Boolean);  
  begin  
          if   myopt='='   then  
          Accept:=Table1[myfield]   =   myval;  
          if   myopt='>'   then  
          Accept:=Table1[myfield]   >   myval;  
          if   myopt='<'   then  
          Accept:=Table1[myfield]   <   myval;  
          if   myopt='>='   then  
          Accept:=Table1[myfield]   >=   myval;  
          if   myopt='<='   then  
          Accept:=Table1[myfield]   <=   myval;  
          if   myopt='<>'   then  
          Accept:=Table1[myfield]   <>   myval;  
  end;  
  Top

12 楼rexwang(品味咖啡)回复于 2002-01-31 17:10:28 得分 5

对于日期的判断,只有一种办法,那就是使用变量,如:  
          select*   from   yourdb    
          where   request_date>   :date1  
  其中::date1就是变量,你可以在编码时通过query组件Params   设置,也可以在编译时设置。  
  而且我希望你不要通过Edit得到日期,因为这不仅不方面,而且需要让使用者了解输入格式,所以最好另外加一个控件(好像是叫做datapicker?你可以在sample页中找到,它可以弹出日期对话框),它有独有属性,可以直接获得日期。  
  希望你能尽快找到方法。  
  Top

13 楼ljun1979(江南云)回复于 2002-01-31 17:45:29 得分 0

to:rexwang()   
  谢谢你!那对于varchar呢??在edit中输入可以吗??Top

14 楼lishen(lishen)回复于 2002-01-31 19:28:47 得分 5

建议使用Query比较简单?Top

15 楼tangyong_delphi()回复于 2002-02-08 12:36:25 得分 30

我有一个SQL查询的示例   请给我电子邮件  
  tangyon3199_cn@sina.comTop

相关问题

  • 条件查询
  • 多条件查询?
  • 条件查询问题
  • delphi的多条件查询
  • 查询条件的判断
  • 条件查询的问题。
  • 条件查询的问题
  • hibernate查询条件拼装
  • 多表多条件查询!?
  • ASP条件查询啊

关键词

  • 字段
  • 数据
  • 查询
  • 用户
  • 选择
  • date
  • 条件
  • 投诉
  • 日期
  • 数据类型

得分解答快速导航

  • 帖主:ljun1979
  • solar
  • phosphor
  • Lion_sj
  • rexwang
  • lishen
  • tangyong_delphi

相关链接

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

广告也精彩

反馈

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