首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

sql语句中 关于日期的比较,该怎么处理

2012-03-20 
sql语句中 关于日期的比较我想查找出在datetimepicker1和datetimepicker2期间中所有关于这个账户的信息,语

sql语句中 关于日期的比较
我想查找出   在datetimepicker1和datetimepicker2期间中所有关于   这个账户的信息,语句如下:
AnsiString   str;
str   =   "select   *   from   流水帐   where   账户   =   ' "+Edit1-> Text+ " '   and   日期   >   ";
str   +=     DateToStr(DateTimePicker1-> Date)   + "   and   日期   <   "+DateToStr(DateTimePicker2-> Date);

为什么这个语句找不出来结果呢?我的输入是正确.请朋友们指教,谢谢!

[解决办法]
' "+DateToStr(DateTimePicker1-> Date)+ " '
[解决办法]
日期类型的要加 ' '
例如
select * from table where date > = ' "+你的日期1+ " ' and date <= ' "+你的日期2+ " '
[解决办法]
用F7把你的SQL打出来看一下 内容是什么
[解决办法]
调试程序的时候跟一下 看看你的str里是什么内容
[解决办法]
这样吧 你把程序这样写
String mydate = DateToStr(DateTimePicker1-> Date);
String str = "select * from 流水帐 where 日期 > ' "+mydate+ " ' ";
[解决办法]
把mydate ShowMessage()出来看一下
Sql应该是没什么问题的了
[解决办法]
要不用
"日期> = ' "+(DateTimePicker1-> Date).FormatString( "yyyy-mm-dd ") + " "+\
(DateTimePicker1-> Time).FormatString( "hh:mm:ss ")+ " ' "+\
"and 日期 <= ' "+(DateTimePicker2).FormatString( "yyyy-mm-dd ")+ " "+\
(DateTimePicker2).FormatString( "hh:mm:ss ")+ " ' ";
[解决办法]
mark
[解决办法]
你看一下DATE是不是带有时间呢?如果有时间的话也会出现记录不出来
[解决办法]
pQuery-> SQL-> Clear();
pQuery-> SQL-> Add( "select * from CECS_XSD where XSD03 > :d_start and XSD03 <=:d_end ");

pQuery-> Parameters-> ParamByName( "d_start ")-> Value=StrToDateTime(Year+ "- "+Month+ "- "+Day+jstime);
pQuery-> Parameters-> ParamByName( "d_end ")-> Value=StrToDateTime((StrToDateTime(Year+ "- "+Month+ "- "+Day)+1).DateString()+jstime);

pQuery-> Open();

[解决办法]


AnsiString jstime = " 00:00:00 ";


[解决办法]
时间 格式的问题.在SQL语句当中以你的写法是两个字符串之问的比较
正确有时间格式如下
to_date( '2007-07-17 19:32:26 ', 'yyyy-mm-dd hh24:mi:ss ')
把你 "DateToStr(DateTimePicker1-> Date) "得到的字符串 '2007-07-17 19:32:26 ' 做一下转换就OK
[解决办法]
忠告:DateToStr有隐患的。如果出來的是“2007年7月17日”你的程序还会正常運行吗?
因为日期時間表達格式,用户是可以設置的。
楼上有几位朋友给了你正確的解。要么格式化,要么用參數。
[解决办法]
楼上的这个好.用格式化.

"日期> = ' "
+(DateTimePicker1-> Date).FormatString( "yyyy-mm-dd ")


+ " "
+\(DateTimePicker1-> Time).FormatString( "hh:mm:ss ")
+ " ' "
+\ "and 日期 <= ' "
+(DateTimePicker2).FormatString( "yyyy-mm-dd ")
+ " "
+\ (DateTimePicker2).FormatString( "hh:mm:ss ")
+ " ' ";

[解决办法]
把dbcommand和dbquery的paramcheck改为false就可以了

热点排行