插入后立刻查询的不能查出来的问题

junjie_zhao_2001 2003-08-18 10:33:46
我在数据库里面先插入一条纪录,然后立刻查询打印出来,可是每次总是打印出倒数第二条数据,这是为什么?代码如下:
dyfp.ConnectionString:=Index.ConnStr;
with dyfp do
begin
close;
Sql.Clear;
Sql.Add('Insert Into [sf] ([jfdw],[yf],[sfxm_1],[je_1],[sfxm_2],[je_2],'
+'[sfxm_3],[je_3],[sfxm_4],[je_4],[sfrq],[hj],[sfry],[dxje]) Values ('
+''''+jfdw.Text+''','''+yf.Text+''','''+shljqyf+''','''+qyf.Text+''','''+mqbjfwf+''','
+''''+fwf.Text+''','''+jzljczf+''','''+czf.Text+''','''+shljczf_1+''','
+''''+shljczf.Text+''','''+datetostr(date)+''','''+hj.Text+''','''+index.current_user+''','''+daxie+''')');
ExecSql;
//Refresh;
//showmessage('Success');
end;
//打印发票
// dyfp.Refresh;
Index.Query_index.ConnectionString:=Index.ConnStr;
With Index.Query_index do
begin
Active:=false;
Active:=true;
close;
Sql.Clear;
Sql.Add('select * from sf order by id desc');
Open;
end;
f_page.QuickRep1.Print;
end
Else
begin
showmessage('已经收费');
end;
jfdw.Clear;
yf.Clear;
qyf.Clear;
czf.Clear;
fwf.Clear;
hj.Clear;

end;

procedure Tf_sf.qyfKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if hj.Text='' then
begin
hj.Text:=qyf.Text ;
end
else
begin
if qyf.Text='' then
qyf.Text:='0';
if fwf.Text='' then
fwf.Text:='0';
if czf.Text='' then
czf.Text:='0';
if shljczf.Text='' then
shljczf.Text:='0';
hj.Text:=Floattostr(StrToFloat(qyf.Text)+StrToFloat(fwf.Text)+StrToFloat(czf.Text)+StrToFloat(shljczf.Text));
if qyf.Text='0' then
qyf.Text:='';
if fwf.Text='0' then
fwf.Text:='';
if czf.Text='0' then
czf.Text:='';
if shljczf.Text='0' then
shljczf.Text:='';
end;
...全文
445 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhoutian618 2003-10-11
  • 打赏
  • 举报
回复
数据库里面有这条数据吗?
每次插入的时候ID号是不是比以前的ID号要大?

MSSQL有时候是有延时的,
我在做发票的时候我碰到过,
但是不知道原因。
zhksoft 2003-10-11
  • 打赏
  • 举报
回复
//打印发票
// dyfp.Refresh;

在插入后调用query的post方法。 dyfp.post
qingfengsishi 2003-08-19
  • 打赏
  • 举报
回复
查询前,看看库里是不是已经存进数据了。。。
junjie_zhao_2001 2003-08-19
  • 打赏
  • 举报
回复
怎么写阿,我开始用adoquery.refresh出错的,我开始没有Active:=false; Active:=true;也不可以的
还请各位指点。
mingjunlee 2003-08-19
  • 打赏
  • 举报
回复
在插入后要refresh以下你的dataset,不然的话
你看到的数据还是插入前的数据
cow8063 2003-08-19
  • 打赏
  • 举报
回复
看看保存了没有呀,你的SQL那么................
还有楼上的试试,把close也去掉
XXSingle 2003-08-19
  • 打赏
  • 举报
回复
只看出 Active:=false;
Active:=true;
是多余的,把它去掉再试试吧
gangnet 2003-08-19
  • 打赏
  • 举报
回复
请问我用DBNavigator添加一条记录,怎么立刻将它刷新到表里去?

2,497

社区成员

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

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