CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
英特尔®游戏设计大赛100美元现金周周送 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  数据库(包含打印,安装,报表)

空条件查询问题,非常急,在线等

楼主bacp(风中月)2003-06-03 16:40:33 在 VB / 数据库(包含打印,安装,报表) 提问

Adodc1.RecordSource   =   "select   sum(消费总金额)   from   data   where   年='"   &   Text1.Text   &   "'   and   月='"   &   Text2.Text   &   "'   and   日='"   &   Text3.Text   &   "'   and   消费人='"   &   Combo1.Text   &   "'   and   消费地点='"   &   Combo2.Text   &   "'"  
   
  上面代码所示  
  我使用了ADO控件和SQL语句  
  条件在TEXT1/TEXT2/TEXT3里  
   
  我想知道如何在TEXT1(或TEXT2或TEXT3)里输入*时  
  代表条件为空  
   
  如何实现 问题点数:20、回复次数:8Top

1 楼zqfleaf(动力港湾)回复于 2003-06-03 16:48:12 得分 10

strsql   =   "select   sum(消费总金额)   from   data   where   1=1   "  
  if   text1.text<>   "*"   then  
      strsql   =   strsql   &   "   and   年='"   &     Text1.Text   &   "'"  
  end   if  
  if   text2.text<>"*"   then  
      strsql   =   strsql   &   "   and   月='"   &     Text1.Text   &   "'"  
  end   if  
   
  if   text3.text<>   "*"   then  
      strsql   =   strsql   &   "   and   日='"   &     Text1.Text   &   "'"  
  end   if  
   
  strsql   =   strsql   &   "   and   消费人='"   &   Combo1.Text   &   "'   and   消费地点='"   &   Combo2.Text   &   "'"  
  Top

2 楼victorycyz(--)回复于 2003-06-03 16:55:15 得分 10

dim   strsql   as   string  
  dim   haswhere   as   boolean  
   
  strsql="select   sum(消费总金额)   from   data   "  
   
  if   text1<>""   then         '注意,不要约定“*”代表空,多此一举。还不专业。  
  strsql=strsql   &   "where   年='"   &   text1   &   "'   "  
  haswhere=true  
  end   if  
   
  if   text2<>""   then    
      if   haswhere   then    
          strsql=strsql   &   "and   月='"   &   text2   &   "'   "  
        else  
          strsql=strsql   &   "   where   月='"   &   text2   &   "'"  
      end   if  
  end   if  
   
  if   text3<>""   then   略  
   
  另,你的表为什么建得这么烦琐?年月日还要分成三个字段呀?还用的是字符型?真想不通。    
  Top

3 楼hedane(有球必应)回复于 2003-06-03 16:59:35 得分 0

用“*”表示空啊?那最好了:将你的等号全部换为“like”。Top

4 楼bacp(风中月)回复于 2003-06-03 17:04:39 得分 0

不好意思~  
   
  字段建的一点问题~  
  但是方便输入  
   
  呵呵Top

5 楼bacp(风中月)回复于 2003-06-03 17:10:06 得分 0

说句实话,上面的代码,还真有一点看不明白Top

6 楼planetike(胜哥哥)回复于 2003-06-03 17:16:27 得分 0

dim   mysql   as   string  
  mysql="select   sum(消费总金额)   from   data   where   1=1"  
  if   text1.value<>"*"   then  
  mysql=mysql   &   "and   年='"   &   Text1.Text   &   "'"  
  end   if  
  if   text2.value<>"*"then  
  mysql=mysql   &   "   and   月='"   &   Text2.Text   &   "'"  
  end   if  
  if   text3.value   <>"*"   then  
  mysql=mysql   &   "   and   日='"   &   Text3.Text   &   "'"  
  end   if  
  mysql=mysql   &   "   and   消费人='"   &   Combo1.Text   &   "'   and   消费地点='"   &   Combo2.Text   &   "'"  
  endif  
  Adodc1.RecordSource   =   mysqlTop

7 楼casta(casta)回复于 2003-06-03 17:50:07 得分 0

sql   =   "   select   sum(消费总金额)   from   data   where   1   =   1   "  
   
  or    
   
  sql   =   "   select   sum(消费总金额)   from   data   where   消费总金额   is   not   null     "  
   
  后面连接相关的查询条件Top

8 楼bacp(风中月)回复于 2003-06-03 17:52:45 得分 0

接分Top

相关问题

  • 条件查询
  • 多条件查询?
  • 关于查询符合条件的数据。在线急等~~~~~~~
  • 一个多条件查询的sql的写法!在线等!(c#)
  • SQL查询语句中,当条件为空时怎么写?
  • 条件查询问题
  • 条件查询问题.
  • delphi的多条件查询
  • 查询条件的判断
  • 条件查询的问题。

关键词

  • 消费
  • mysql
  • strsql
  • ifif
  • haswhere
  • thenmysql
  • combo
  • 消费总金额
  • 条件
  • 月

得分解答快速导航

  • 帖主:bacp
  • zqfleaf
  • victorycyz

相关链接

  • Visual Basic类图书
  • Visual Basic类源码下载

广告也精彩

反馈

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