一刀客 发表于 2007-12-17 20:33

如何做:查询任意年月日?代码出错!

[attach]31434[/attach]

我想查询任意年月日,比如查询所有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查询语句
   //其它无关的代码就不写了
}
点击查询时,年月日任意一个为空,则程序会报错. [em10]
如果用if语句来判断,则要写好多代码 [em10]
我知道有一个Convert的函数可以转换成“yyy-mm-dd”格式,但不知怎么写 。[em10]
查了百度和SQL联机丛书还是不会写 [em10]
怎么办?高手指点迷津呀[em10]

purana 发表于 2007-12-17 20:40

自己在程序中去判断是否为空..如果是则做相应处理..
不是用一两行代码就可以完成一个程序的.

一刀客 发表于 2007-12-17 21:14

[em10]

页: [1]

编程论坛