添加数据出的问题(50分)

N

noyamm

Unregistered / Unconfirmed
GUEST, unregistred user!

我向数据表中添加数据,代码如下:
if DataModule2.ADOTable1.Eof then
DataModule2.ADOTable1.Insert
else
DataModule2.ADOTable1.Edit;
with DataModule2.ADOTable1 do
begin
FieldByName('JH').AsString:=Edit1.Text;
......
end;
DataModule2.ADOTable1.Post;

为什么总是加入的当前写入的数据,事件探查器中总是显示的是update,
而不是insert into,请问我的代码哪有问题?
 
up一下
帮忙给看看吧
 
问题在你第一行的判断语句吧:if DataModule2.ADOTable1.Eof then
如果数据只是在最后一条,那么eof并不会为真,必须再用一个next语句才会为真。
如果要判断是否是在最后一条,可以这么判断:
if DataModule2.ADOTable1.RecNo=DataModule2.ADOTable1.RecordCount then
 
其实我忘了,在
if DataModule2.ADOTable1.Eof then
之前还有一句
DataModule2.ADOTable1.First;
这么样写的语句也不行吗?
 
first的意思是把指针指到数据表的第一条记录,那eof就更不会为真了。你要使eof为真,
可以这样:
DataModule2.ADOTable1.Last; //把指针指向最后一条记录
DataModule2.ADOTable1.Next; //再下移一条,以使eof为真。
 
support HunterTeam
 
多人接受答案了。
 
顶部