修改记录出现的错误提示如何解决?“RecordTable: Dataset not in edit or insert mode”,(50分)

  • 主题发起人 主题发起人 陈宜秋
  • 开始时间 开始时间

陈宜秋

Unregistered / Unconfirmed
GUEST, unregistred user!
诸位大虾,你们好!
我现在有一个问题很急,希望你们帮忙,就是我要循环修改某一字段的值,我把数据库
RecordTable.open; RecordTable.edit; 然后进行setfield([])操作,单步执行一次可以,
再次循环时出现提示“RecordTable: Dataset not in edit or insert mode”,为何
说不在编辑或修改状态呢?如何解决?谢谢!
 
前面有过类似的问题,主要是你的
Table1.Edit;
与修改的字段工作过程尽量靠近一些.还有Table.Post;
 
RecordTable.edit是不是在循环体外,把它放到循环体中来
 
recordtable.open;

for i:=1 to 10000 do
begin
recordtable.edit;
recordtable.setfield()...
recordtable.post;
end;

recordtable.close;
 
Xwolf 的答案是对的!我有过和你同样的困惑!
 
RecordTable.Open;
while Not RecordTable.Eof do
begin
RecordTable.Edit;
RecordTable.SetField()...
RecordTable.Post;
end;
RecordTable.Close;
 
每次修改前必须都要使用table.edit命令,紧接着是修改语句。

 
RecordTable.Open;
while Not RecordTable.Eof do
begin
RecordTable.Edit;
RecordTable.SetField()...
RecordTable.Post;
RecordTable.next;
end;
RecordTable.Close;

 
同意zoulin
 
没对Table操作之前都要edit,也就是在循环体内开始就要 TableName.Edit.
 
循环外一次Edit 就可以了

 
多人接受答案了。
 
后退
顶部