with AdoTable1 do begin Open; Edit; First; FieldByName('字段2').AsString:=FieldByName('字段1').AsString*8; Next; Post; end;编译后出现这错误:DataSet not in edit or insert Mode. 怎么解决?
with AdoTable1 do begin Open; Edit; FieldByName('字段2').AsString:=FieldByName('字段1').AsString*8; Post; end;
with AdoTable1 do begin Open; First; Edit; FieldByName('字段2').AsString:=FieldByName('字段1').AsString*8; Post; Next; end;
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,用语句来实现
你的代码里面并没有体现循环 with AdoTable1 do begin Open; First; while not eof do begin Edit; FieldByName('字段2').AsString:=FieldByName('字段1').AsString*8; Post; Next; end; end;
begin
Open;
Edit;
FieldByName('字段2').AsString:=FieldByName('字段1').AsString*8;
Post;
end;
begin
Open;
First;
Edit;
FieldByName('字段2').AsString:=FieldByName('字段1').AsString*8;
Post;
Next;
end;
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,用语句来实现
顺便再问一下你,执行了,但是只计算了一条数据,没有往下计算,代码中也加了Next了,是什么问题?
with AdoTable1 do
begin
Open;
First;
while not eof do
begin
Edit;
FieldByName('字段2').AsString:=FieldByName('字段1').AsString*8;
Post;
Next;
end;
end;