帮帮忙,sql中时间问题(50分)

  • 主题发起人 主题发起人 yherxl
  • 开始时间 开始时间
Y

yherxl

Unregistered / Unconfirmed
GUEST, unregistred user!
原来一直使用parodox,一直使用的方法在access中出现奇怪问题
(现在用的是win98 delphi5 access97 odbc连接)

query1:
SELECT crdtmid, emplyid, empcrdno, cdatetime
FROM DBA_empcrdtm Dba_empcrdtm
WHERE (crddatetime >= :c1) and (crddatetime <=:c2)
button1click:
with query1 do begin
parambyname('c1').asdatetime:=datetimepicker1.datetime;
parambyname('c2').asdatetime:=datetimepicker2.datetime;
open;
end;

结果出现错误提示:
gernal sql error
[Microsoft][Odbc microsoft access driver] too few parameters,expected 3
百思不得其解,还请大家帮忙,谢谢

 
你可以这样作:
SELECT crdtmid, emplyid, empcrdno, cdatetime
FROM DBA_empcrdtm Dba_empcrdtm
WHERE (crddatetime between '''
+datetostr(时间1)+''' and '''
+datetostr(时间2)+'''

也就是将时间用单引号括起来!
 
button1click:
with query1 do begin
close;
sql.clear;
sql.add('SELECT crdtmid, emplyid, empcrdno, cdatetime '+
'FROM DBA_empcrdtm Dba_empcrdtm'+
'WHERE (crddatetime >=#'+datetimetostr(datetimepicker1.datetime)+
'#) and (crddatetime <=#'+datetimetostr(datetimepicker2.datetime)+'#)');
open;
end;
 
把asdatetime改为value试试
 
 from 后面的表名是怎么写的啊 !
 ODBC在98中的驱动可能有问题吧!
 
表名你那样写就是对的!我用的也是odbc,如果不行,你试试用bde注册数据源!我认为odbc有很多
问题,用odbc注册数据源,在数据字段为自增长字段的时候,添加记录就会出错,而同样的程序用
bde和ado就不会出错!所以你可以试试用bde和ado!
 
语句中的时间问题没有错误,在其他方面找原因吧。
 
是表的字段名写错了,仍然谢谢各位
 
后退
顶部