有关自动增量字段的问题(50分)

  • 主题发起人 主题发起人 faun
  • 开始时间 开始时间
F

faun

Unregistered / Unconfirmed
GUEST, unregistred user!
table1 结构
a auto
b character(20)
c boolean
...
procedure TForm1.BtnClick(Sender: TObject);
var
tmpAName : string;
begin
tmpAName := Inputbox('new value','value:','');
if tmpAName='' then exit;
with Dm.Qry do
begin
Append;
FieldbyName('b').asstring := tmpAName;
FieldByName('c').asBoolean := False;
post;
edit1.Text := inttostr(FieldByname('a').asinteger);
end;
end;
...

procedure TDM.QryAfterDelete(DataSet: TDataSet);
begin
with Qry Do
begin
ApplyUpdates;
CommitUpdates;
end;
end;

procedure TDM.QryAfterScroll(DataSet: TDataSet);
begin
Form1.edit2.Text := inttostr(Qry.FieldByname('a').asinteger);
end;
...
运行时加入新记录后,edit1.text edit2.text 本应是自动增量后的值,
但实际始终为0(当前记录为新加的),拜托各位指点一二;
 
post后是不是该刷新一下!
 
post后刷新仍旧无用
 
自动增量字段的值是在Post后生成的吧!?
为什么不用AsString?
 
faun:如果还想接着讨论请定期提前自己的帖子,如果不想继续讨论请结束帖子。
 
用 Table 就能刷新,我在 Paradox 下就是这样做的,Post 之后马上得到新值。
 
是不是因为Query不能修改,你试着用视图或表,可能该行吧!
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
685
SUNSTONE的Delphi笔记
S
S
回复
0
查看
645
SUNSTONE的Delphi笔记
S
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部