大家看看这个很奇怪的错误?

小C君 2006-05-17 01:49:43
我要实现一个显示有效期离现在日期不到30天和库存量小于10件的商品的小程序,代码如下:
with Query1 do
begin
close;
sql.clear;
sql.Add('select goods.goods_id 商品编号,goods.goods_name 商品名称,stock.number 库存量,goods.validity_date 有效日期 from stock,goods');
sql.Add('where stock.goods_id=goods.goods_id');
sql.Add('and stock.number<10 or :d1>:d2');
ParamByName('d1').AsDateTime :=now+30;
ParamByName('d2').AsDateTime :=StrtoDatetime(trim(query1.Fieldbyname('validity_date').asstring));
open;

为什么出现了Query1:ParamByName'd1'not found 这个错误
...全文
121 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
charles1975 2006-05-19
  • 打赏
  • 举报
回复
哦,那要看看validit_date存储日期的格式了.建议还是用datetime类型比较好,比较起来方便一些.
小C君 2006-05-17
  • 打赏
  • 举报
回复
validity_date在数据库里面是VARCHAR类型的
charles1975 2006-05-17
  • 打赏
  • 举报
回复
直接改成
sql.Add('and stock.number<10 or validity_date>:d2');
不就行了?

2,496

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧