我用的是delphi6,数据库是Access2002,当我查询一个时间的时候出错,请各位大侠帮忙。代码如下: if (edit4.Text<>'') then
with query1 do
begin
query1.Close;
query1.SQL.Clear;
query1.sql.add('select * from fawen where fw-riqi>:dad');
query1.params[0].DataType:=ftdatetime;
params[0].AsDateTime:=strtodate(edit4.text);
prepare;
query1.Open;
end;出错代码如下project main_pro.exe raised exception class EDBEngineError with message 'General SQL error.
[Microsoft][ODBC Microsoft Access Driver] 参数不足,期待是3。多谢大家帮忙!!!!
with query1 do
begin
query1.Close;
query1.SQL.Clear;
query1.sql.add('select * from fawen where fw-riqi>:dad');
query1.params[0].DataType:=ftdatetime;
params[0].AsDateTime:=strtodate(edit4.text);
prepare;
query1.Open;
end;出错代码如下project main_pro.exe raised exception class EDBEngineError with message 'General SQL error.
[Microsoft][ODBC Microsoft Access Driver] 参数不足,期待是3。多谢大家帮忙!!!!
解决方案 »
- [help]delphi ProgressBar控制下载进度
- 请各位高手帮忙解决一上,我用DBGRID,1,2列输完之后,怎么在第三列中马上显示出第一列*第二列的值呀!
- dbexpress连接mysql
- 请问,delphi有没有这样的控件?
- Delphi 的小问题
- 如何在delphi中读取c的浮点数格式(float)4字节?
- 怎么知道电子称到com口的某一次传输已经结束
- 请问.DAT是用什么软件生成的。。。是不是数据库
- 十万火急!!!有谁知道Access数据库的修复方法!
- 请问怎样声明全局变量?能够在任何窗体都可以调用它。
- 主從表的記錄復制問題
- 关于动态添加图片到TImageList中的问题!!!
如
select * from tablename where datestart between #2005-04-25# and #2005-04-26#
~~~~~~~~~~~~~~~~~~~~~
with adoquery1 do begin
Close;
SQL.Clear;
SQL.Add('select * from fawen where 日期>=:startrq and 日期<=:endrq');
Parameters.ParamByName('startrq').Value:=formatdatetime('yyyy-mm-dd',form1.DateTimePicker1.Date);
Parameters.ParamByName('endrq').Value:=formatdatetime('yyyy-mm-dd',form1.DateTimePicker2.Date);
Open;
end;
SQLSTRING:=‘select * from tablename where datestart between #’
+日期+‘# and #’+日期+‘#’比较好
Close;
SQL.Clear;
SQL.Add('select * from fawen where 日期>=:startrq and 日期<=:endrq');
Parameters.ParamByName('startrq').Value:=formatdatetime('yyyy-mm-dd',form1.DateTimePicker1.Date);
Parameters.ParamByName('endrq').Value:=formatdatetime('yyyy-mm-dd',form1.DateTimePicker2.Date);
Open;
end;
但是仍然出现错误信息:project main_pro.exe raised exception class EOleException with message
'[Microsoft][ODBC microsoft access driver] 参数不足,期待是4。‘我要查询的是动态的日期,是要求用户自己输入的,这样参数应该如何设置?
'select * from aa where (EnterTime>='+''''+FormatDateTime('mm',EnterTimeDTP.DateTime)+
'/'+FormatDateTime('dd',EnterTimeDTP.DateTime)+'/'+FormatDateTime('yyyy',EnterTimeDTP.DateTime)+
' 00:00:00:00'+''''+') ';
Access:
decodeDate(DateTimePicker1.DateTime,yyyy,mm,dd);
tempsql:='select * from aa where 日期 Between '+'#'+inttostr(mm)+'/'+inttostr(dd)+'/'+inttostr(yyyy)+'# And ';
decodeDate(DateTimePicker2.DateTime,yyyy,mm,dd);
tempsql:=tempsql+'#'+inttostr(mm)+'/'+inttostr(dd)+'/'+inttostr(yyyy)+'#')
SQLSTRING:=‘select * from tablename where datestart between #’
+日期+‘# and #’+日期+‘#’比较好 =====================
简单好用。呵呵