我想查找以“入库日期”为区间的商品数据,而写了以下程序:
procedure TForm1.Button1Click(Sender: TObject);
var
date1,date2:TdateTime;
begin
date1:=strtodate(MaskEdit1.Text);//存放开始日期值,接收MaskEdit1.Text的值
date2:=strtodate(MaskEdit2.Text);//存放结束日期值,接收MaskEdit2.Text的值with query1 do
begin
close;
sql.Clear;
query1.SQL.Add('select * from tab1 where 入库日期 >:A and 入库日期<:B');
query1.ParamByName('A').AsDate:=date1;
query1.ParamByName('B').Asdate:=date2;
open;
end;
end;这段程序能轻易通过编译,但在运行时输入正确的查询日期却出现以下错误:
'ODBC Microsoft Access Driver:时间日期格式无效(null)'
明明用strtodate函数转换了格式,怎么会有这种错误呢?再想问一下ADOQQuery怎么没有和Query.ParamByName的方法,ADOQQuer有没有类似Query.ParamByName的方法呢?
procedure TForm1.Button1Click(Sender: TObject);
var
date1,date2:TdateTime;
begin
date1:=strtodate(MaskEdit1.Text);//存放开始日期值,接收MaskEdit1.Text的值
date2:=strtodate(MaskEdit2.Text);//存放结束日期值,接收MaskEdit2.Text的值with query1 do
begin
close;
sql.Clear;
query1.SQL.Add('select * from tab1 where 入库日期 >:A and 入库日期<:B');
query1.ParamByName('A').AsDate:=date1;
query1.ParamByName('B').Asdate:=date2;
open;
end;
end;这段程序能轻易通过编译,但在运行时输入正确的查询日期却出现以下错误:
'ODBC Microsoft Access Driver:时间日期格式无效(null)'
明明用strtodate函数转换了格式,怎么会有这种错误呢?再想问一下ADOQQuery怎么没有和Query.ParamByName的方法,ADOQQuer有没有类似Query.ParamByName的方法呢?
解决方案 »
- 查询时生成一个字段,并自动加1.
- 简单!!!!!!!!!!!!!!!!!!
- dbf数据库不支持中文字段,怎么办啊?
- 献丑了,我的DELPHI处女作,欢迎大家下载指教。
- text的小问题,来看看啊!
- 如何将一个RGB或HTML颜色值转化为Delphi颜色值,并在一个Edit1里面显示出来?
- Tree控件的点击后节点自动扩张,收缩的的消息是啥??? 还有我想让Tree在mouseDown后每次把VScrollBar在最顶上,如何做
- Delphi使用ADODataset组件时的问题
- 比较难问题
- 为什么构件安装后,使用它的程序经常无法编译,说什么.dcu文件没发现,非得把该构件又再编译一次才行?
- 互斥对象,不解! 没有可用分,祝CSDN上的朋友天天开心、百事可乐、身体健康、事业有成
- 如何输出文本文件?
begin
close;
sql.Clear;
query1.SQL.Add('select * from tab1 where 入库日期 >:A and 入库日期<:B');
query1.ParamByName('A').value:=date1;
query1.ParamByName('B').value:=date2;
open;
end;
begin
close;
sql.Clear;
query1.SQL.Add('select * from tab1 where 入库日期 >:A and 入库日期<:B');
query1.ParamByName('A').value:=date1;
query1.ParamByName('B').value:=date2;
open;
end;这段代码能解决了部分问题,但是却出现了不正确的结果。
begin
close;
sql.Clear;
SQL.Add('select * from tab1 where (入库日期 >:A) and (入库日期<:B)');
ParamByName('A').value:=date1;
ParamByName('B').value:=date2;
prepare ;
open;
end;
query1.Parameters.ParamByName('B').Value:=date2;建议你用TDateTimePicker!procedure TForm1.Button1Click(Sender: TObject);
var
date1,date2:TdateTime;
begin
date1:=DateTimePicker1.DateTime;
date2:=DateTimePicker2.DateTime;with query1 do
begin
close;
sql.Clear;
query1.SQL.Add('select * from tab1 where 入库日期 >:A and 入库日期<:B');
query1.ParamByName('A').AsDate:=date1;
query1.ParamByName('B').Asdate:=date2;
open;
end;
end;