DataSet not in edit or insert Mode是什么错误?

woaiwd 2008-11-04 03:19:21

with AdoTable1 do
begin
Open;
Edit;
First;
FieldByName('字段2').AsString:=FieldByName('字段1').AsString*8;
Next;
Post;
end;

编译后出现这错误:DataSet not in edit or insert Mode.
怎么解决?
...全文
145 点赞 收藏 8
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
hongqi162 2008-11-04
你的代码里面并没有体现循环


with AdoTable1 do
begin
Open;
First;
while not eof do
begin
Edit;
FieldByName('字段2').AsString:=FieldByName('字段1').AsString*8;
Post;
Next;
end;
end;
回复
woaiwd 2008-11-04
搞定,谢谢大家的帮助,结贴给分。
回复
woaiwd 2008-11-04
原来是顺序搞错了,hongqi162(失踪的月亮)的代码是正确的。
顺便再问一下你,执行了,但是只计算了一条数据,没有往下计算,代码中也加了Next了,是什么问题?
回复
阿三 2008-11-04
procedure TForm1.Button1Click(Sender: TObject);
begin
AdoConnection1.BeginTrans;
try
with AdoTable1 do
begin
Open;
First;
while not eof do
begin
Edit;
FieldByName('C2').AsString:=FieldByName('C1').AsString+'a';
Next;
end;
end;
AdoConnection1.CommitTrans;
except
AdoConnection1.RollbackTrans;
end;
end;
不过我不喜欢用adotable,基本都用adoquery,用语句来实现
回复
Corn1 2008-11-04
Post和Next位置换一下
回复
hongqi162 2008-11-04
with AdoTable1 do
begin
Open;
First;
Edit;
FieldByName('字段2').AsString:=FieldByName('字段1').AsString*8;
Post;
Next;
end;
回复
panrongzeng 2008-11-04
with AdoTable1 do
begin
Open;
Edit;
FieldByName('字段2').AsString:=FieldByName('字段1').AsString*8;
Post;
end;
回复
yangkunjie 2008-11-04
数据集不在编辑或插入状态
请确认表或数据文件是否只读?
是否有足够的权限编辑和插入数据
回复
相关推荐
发帖
数据库相关
创建于2007-08-02

2454

社区成员

Delphi 数据库相关
申请成为版主
帖子事件
创建了帖子
2008-11-04 03:19
社区公告
暂无公告