收录日期:2019/05/21 01:10:06 时间:2016/05/31 07:15:35 标签:非技术区
我想查找以“入库日期”为区间的商品数据,而写了以下程序:
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的方法呢?
with query1 do
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;
with query1 do
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;

这段代码能解决了部分问题,但是却出现了不正确的结果。
sql语句没有写对吧,先在sql查询分析器里试一下
with query1 do
begin
  close;
  sql.Clear;
  SQL.Add('select * from tab1 where (入库日期 >:A) and (入库日期<:B)');
  ParamByName('A').value:=date1;
  ParamByName('B').value:=date2;
  prepare ;
  open;
end;
在ADO里是这样  写的:
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;
以上各位的代码都试了,查询结果还是达不到预期的效果。请问TDateTimePicker组件在哪个面板可以找到。
看组件面版上的鼠标提示啊

提问关于C++和delphi数据结构在ASM中的问题 ~JS读取XML节点的问题 C语言中如何转化int 为什么我点取消它也是退出啊? VC初学者 做个计算器 socket服务器端收发来的字符串时有的收不到.为什么? 网络高手进~急~~100分 hibernate的问题 向各位大侠请教一个问题! 正在衰落中的微软!!! 高分求解 SQL EXPRESS 拒绝访问数据库 正在衰落中的微软!!! 用SQL在订单表中怎么样查寻出最近三天的订单记录? 如何去掉框架页的水平滚动条? 正在衰落中的微软!!! 关于wsprintfW的问题 正在衰落中的微软!!! 还是哪个超菜,我点按纽已经能生成随机序列号,现在想点击按纽的时候自动转入另一页显示在文本框中,该怎么写呢? 简单的数据库连接问题,急~~ 正在衰落中的微软!!! 菜鸟提问:如何连接sql server数据库 简单的数据库连接问题,急~~ SQL Server Agent启动问题? ObjectDataSource SDK3000开发视觉系统 |M| 两个数据库的合并问题 如我有数据库A 和数据库B 现在要合成数据库C 求对于单位员工的查询代码 只看.别摸... 100分诚心求教SQL-ADO.NET的编码问题 越来越厌倦Coding的工作了,想转行