各位高手:
本人目前正在做一个将access数据库中的一个表的数据转到oracle中的程序,遇到了一个问题,卡壳了,请各位高手指点,一定给分,不够再加,问题如下:
access数据表结构
cardfile(holderno 文本,date 日期/时间,time 文本)
现在我要做的是将这个表中的新数据提取出来插入到oracle表中,也就是说要把date和time的值同我存放在.ini文件中的时间相比较。
我的quyery中的sql语句是这样写的
select * from cardfile where date>=:P_date and time>:P_time
在程序中我把P_date和P_time分别赋值如下
ParamByName('P_date').AsDate :=strtodate(datestr) ;
ParamByName('P_time').AsString := timestr ;
但是在我执行open的时候,提示:时间日期格式无效
我不太清楚是什么意思,但是access中的date字段的值在access中显示是这样的:2002-11-5,我认为是“短日期”,而datestr变量的值是由datetostr(一个日期型变量)得来的,我就不知道strtodate(datestr)得出的日期是不是短日期了。
请各位高手帮忙分析一下,顺便问一下,access日期格式转换的函数是什么??
还有,我怎么样在一个datetime类型的变量中提取出一个它的日期值的一个变量呢???
请各位高手帮忙
本人目前正在做一个将access数据库中的一个表的数据转到oracle中的程序,遇到了一个问题,卡壳了,请各位高手指点,一定给分,不够再加,问题如下:
access数据表结构
cardfile(holderno 文本,date 日期/时间,time 文本)
现在我要做的是将这个表中的新数据提取出来插入到oracle表中,也就是说要把date和time的值同我存放在.ini文件中的时间相比较。
我的quyery中的sql语句是这样写的
select * from cardfile where date>=:P_date and time>:P_time
在程序中我把P_date和P_time分别赋值如下
ParamByName('P_date').AsDate :=strtodate(datestr) ;
ParamByName('P_time').AsString := timestr ;
但是在我执行open的时候,提示:时间日期格式无效
我不太清楚是什么意思,但是access中的date字段的值在access中显示是这样的:2002-11-5,我认为是“短日期”,而datestr变量的值是由datetostr(一个日期型变量)得来的,我就不知道strtodate(datestr)得出的日期是不是短日期了。
请各位高手帮忙分析一下,顺便问一下,access日期格式转换的函数是什么??
还有,我怎么样在一个datetime类型的变量中提取出一个它的日期值的一个变量呢???
请各位高手帮忙
各位高手:
本人目前正在做一个将access数据库中的一个表的数据转到oracle中的程序,遇到了一个问题,卡壳了,请各位高手指点,一定给分,不够再加,问题如下:
access数据表结构
就这些!
ParamByName('P_date').value:=strtodate(datestr) ;
ParamByName('P_time').value:= timestr ;
你可以不管类型:
ParamByName('P_date').value:=strtodate(datestr) ;
ParamByName('P_time').value:= timestr ;
cg1120的方法我已经试过了,还是不成的
还是直接写sql语句吧。
adoquery1.sql.add('select * from cardfile where date>=#'+strtodate(datestr)+'# and time>#'+timestr+'#');
2、用datepart函数 datepart("yyyy",#2002-12-8#)另外可以使用函数DateDiff("y",datefield,'2002-12-8')在日的精度上做时间比较。
ParamByName('P_time').value := StrToTime(timestr);注意delphi的时间好像比microsoft的时间晚两天,所以要加2.
数据表名称是entryexit,需要比较的字段是date,time,感兴趣的朋友可以加我的qq,或者留下你的信箱,谢谢大家