| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2883 人关注过本帖
标题:如何做:查询任意年月日?
只看楼主 加入收藏
一刀客
Rank: 1
等 级:新手上路
帖 子:181
专家分:0
注 册:2007-10-26
收藏
 问题点数:0 回复次数:6 
如何做:查询任意年月日?
图片附件: 游客没有浏览图片的权限,请 登录注册


我想查询任意年月日,比如查询所有2005年进货的货物信息,年为2005,日和月为空。
就是说,年月日,可以空一个或二个,但不能全部为空
我写的的Sql语句是:
{
  int year, month, day;
  if(txtYear.Text==""||txtMonth.Text==""||txtDay.Text=="")
  {  MessageBox.show("不能全部为空!","错误提示"); return;  }
  try
 {
  year = Convert.ToInt32(txtYear.Text);
  month = Convert.ToInt32(txtMonth.Text);
  day = Convert.ToInt32(txtDay.Text);
 }
catch(FormatException e1)
{MessageBox.show(e1.Message,"错误提示"); return;}
  string str1 = "year(" + Clom + ")='" + year + "' and month(" + Clom + ")='" + month + "' and day(" +Clom + ")='" + day + "'";   //Clom是列名!
  StrSel = "select * from " + table + " where   " + str1 + "";//Sql查询语句
   //其它无关的代码就不写了
}
点击查询时,年月日任意一个为空,则程序会报错.
如果用if语句来判断,则要写好多代码
我知道有一个Convert的函数可以转换成“yyy-mm-dd”格式,但不知怎么写
查了百度和SQL联机丛书还是不会写
怎么办?高手指点迷津呀
搜索更多相关主题的帖子: 年月日 查询 
2007-12-17 20:22
abcd5200
Rank: 1
等 级:新手上路
帖 子:51
专家分:0
注 册:2007-4-18
收藏
得分:0 
直接用两个dateTimePicker..
让用户选两个时间差不就得了..

*┊..除了睡觉..还是想睡觉..┊*
2007-12-17 20:48
andey
Rank: 2
等 级:新手上路
威 望:4
帖 子:938
专家分:0
注 册:2007-7-18
收藏
得分:0 
int year, month, day;
  if(txtYear.Text==""||txtMonth.Text==""||txtDay.Text=="")
  {  MessageBox.show("不能全部为空!","错误提示"); return;  }

这里是||应该改为&&
楼主应该正确区分"||"和"&&"的用法(建议看看离散数学)

msdn == 葵花宝典!!!
QQ:122768959
2007-12-18 13:42
一刀客
Rank: 1
等 级:新手上路
帖 子:181
专家分:0
注 册:2007-10-26
收藏
得分:0 

责人之心责己 宽己之心宽人
2007-12-18 14:03
huwei1024
Rank: 1
等 级:禁止发言
帖 子:149
专家分:0
注 册:2007-4-12
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽

www.
2007-12-18 14:59
tanxiaolin
Rank: 1
等 级:新手上路
帖 子:71
专家分:0
注 册:2007-12-12
收藏
得分:0 
你是要查比如:2005年度的一些信息对吧?

那你可以直接用SQL语句完成啊,就是如果时间字段里面包含2005  就显示或者直接提取就OK了啊。
 if(txtYear.Text==""||txtMonth.Text==""||txtDay.Text=="")
  {  MessageBox.show("不能全部为空!","错误提示"); return;  }
应该用 if((txtYear.Text.Trim()!="")||(txtMonth.Text.Trim()=="")||(txtDay.Text==""))
  {  MessageBox.show("不能全部为空!","错误提示"); return;  }


StrSel = "select * from " + table + " where   " + str1 + "";//
改为:StrSel="select **from '"+table+"' where 字段 like '%"+str1+"%' "+"";//

你这样试试。
2007-12-18 15:15
huwei1024
Rank: 1
等 级:禁止发言
帖 子:149
专家分:0
注 册:2007-4-12
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽

www.
2007-12-18 15:29
快速回复:如何做:查询任意年月日?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.035088 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved