DELPHI ADOQUERY连接ACCESS,查询记录总数问题 5

用ADOQUERY连接ACCESS,在录入新的记录之后,再查询满足条件的记录的条数时,总是不准!------------------首先用ADOQUERY0给表增加记录-... 用ADOQUERY连接ACCESS,在录入新的记录之后,再查询满足条件的记录的条数时,总是不准!

------------------首先用ADOQUERY0给表增加记录-----------
with qry0 do
begin
Close;
SQL.Clear;
SQL.Add('select BC as 条码,日期,时间,DIF as 管控内容,序号,工单号 from DIPBCT');
Open;
Append;
FieldByName('条码').AsString := edtbcyl.Text;
FieldByName('日期').AsString := DateTimeToStr(Date());
FieldByName('时间').AsString := FormatDateTime('HH:NN:SS', Now());
FieldByName('管控内容').AsString := edtgknr.Text;
FieldByName('序号').AsString := gkwcs;
FieldByName('工单号').AsString := dbedt1.Text;
try qry0.Post;
Windows.Beep(5000, 500);
except qry0.Cancel;
Windows.Beep(3000, 1000);
end;
Close;
Open;
-----------------再用另外一个ADOQUERY接着查询表中符合条件的记录数量-----------
with qry3 do
begin
Close;
SQL.Clear;
SQL.Add('select * from DIPBCT where 日期=date()');
Open;
end;
label1.Caption := IntToStr(qry3.RecordCount);

上面两段代码,前面是添加记录,后面是查询符合条件的记录条数,然后显示在label1上,但是问题就是每次执行之后,有时label1能正确的显示真实的记录条数,但是有时又不变化,要再执行一次或两次以上的查询命令之后才能正确显示,感觉像是刷新问题,请问如何解决! 我现在是用一个Timer来定时执行查询命令,刷新,有没有更好的办法。
下面两位的方法都不行,我写的另个一个小程序也有类似的问题:
ADOQuery3.RecNo:=ADOQuery3.RecordCount;

本想用这个方法,在录入一个记录之后自动跳到最后一条记录,但是也是一样的,经常不跳;
当我再录入一个记录之后,再执行这个命令,有时候又能跳了,而且刚刚上一个记录被跳过去了(比如我录入第9条记录,执行命令之后,DBGridg还是指在第8条记录,当我再录入第10条记录的时候,DBGrid又能跳了,而且是直接跳到第10条记录)
展开
 我来答
zhbjying
推荐于2021-01-09
知道答主
回答量:34
采纳率:0%
帮助的人:17.7万
展开全部
应该是
FieldByName('日期').AsString := DateTimeToStr(Date());
SQL.Add('select * from DIPBCT where 日期=date()

这两句的原因
ACCESS 数据库对日期的查找应该加 # #
而且 DateTimeToStr(Date()的格式与 where 日期=date() 的日期格式不同。
第一句换成 FieldByName('日期').AsString := formatdatetime(‘yyyy-mm-dd’,Date())好一些,
比较也采用 where 日期=#'+ formatdatetime(‘yyyy-mm-dd’,Date()) +'#'
追问
方法都不行,我写的另个一个小程序也有类似的问题:
ADOQuery3.RecNo:=ADOQuery3.RecordCount;

本想用这个方法,在录入一个记录之后自动跳到最后一条记录,但是也是一样的,经常不跳;
当我再录入一个记录之后,再执行这个命令,有时候又能跳了,而且刚刚上一个记录被跳过去了(比如我录入第9条记录,执行命令之后,DBGridg还是指在第8条记录,当我再录入第10条记录的时候,DBGrid又能跳了,而且是直接跳到第10条记录)
匿名用户
2013-05-14
展开全部
加一个qry3.Refresh;试试
方法1:select count(*) from table
方法2:在ADOQuery3的open下面先写一句:ADOQuery3.irst;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式