我通过dbedit来输入日期,蒋其传递给query1.sql
但是不行,它报参数类型不符,好像query1.sql只能接收字符参数,
不能接收日期参数,如果要传递日期参数,怎么做???
程序如下:
procedure TForm1.Button1Click(Sender: TObject);
begin
query1.SQL.Clear;
query1.SQL.Add('select trdate,b,c from wuri.db);
query1.sql.Add('where trdate<=:q1');
query1.ParamByName('q1')=dbedit1.text;
query1.Open;
end;
但是不行,它报参数类型不符,好像query1.sql只能接收字符参数,
不能接收日期参数,如果要传递日期参数,怎么做???
程序如下:
procedure TForm1.Button1Click(Sender: TObject);
begin
query1.SQL.Clear;
query1.SQL.Add('select trdate,b,c from wuri.db);
query1.sql.Add('where trdate<=:q1');
query1.ParamByName('q1')=dbedit1.text;
query1.Open;
end;
解决方案 »
- 有没有好点的数据库程序框架?
- 怎样写一个批处理命令,实现这个功能:
- 怎样取当前日期?
- 新手求助!请各位大哥推荐几本学习delphi的好书!
- 请问是不是有这样一个现成的控件
- TClientdataset进行Insert操作后记录不是当前,而是最后,,是不是delphi的Bug
- 如何实现用户自定义报表?比如:用户可任意选择打印哪一个字段、宽度、打印行数等.
- 10月10号, Borland大赛交稿时间已到, 不知大家参加了没有? 完成了吗? 交了什么作品啊?
- socket大数据量通信的问题(2)?
- 关于计算时间的问题!
- !!!请高手指点 XPMenu 的工作原理!!!
- 这就是Delphi的斑猪-FrameSniper篇
既然你显示的是日期类型的数据的 你可以用DBdatetime控件来实现的 你可以下载一个试试的
begin
query1.SQL.Clear;
query1.SQL.Add('select trdate,b,c from wuri.db);
query1.sql.Add('where trdate<=:q1');
query1.ParamByName('q1').AsString=FormatDateTime('yyyy-mm-dd',dbedit1.text);
query1.Open;
end;
其中trdate是日期型字段;
query1.ParamByName('q1').AsDateTIme := StrToDateTime(dbedit1.text);
上面的方法看是正确的,但是在运行时通不过,提示为'operation no application'
不知是什么原因?我用的是paradox表下面的是报类型错误
query1.ParamByName('q1').AsString=FormatDateTime('yyyy-mm-dd',dbedit1.text);
请各位高手再指点一下