delphi7 使用adotable删除记录的问题

来源:百度知道 编辑:UC知道 时间:2024/06/28 00:40:25
源码如下
procedure TForm2.Button1Click(Sender: TObject); //BUTTON 'DELETE'
var
i:integer;
begin
n :=DataSource1.DataSet.RecordCount;
datasource1.DataSet.First ;
for i:=1 to n do
begin
if datasource1.DataSet.FieldByName('user').Value =combobox2.Text then
begin

if checkbox2.Checked=true then
begin
adotable2.Open;
adotable2.Edit;
ADOtable2.Delete;
adotable2.Post;
showmessage('A user has been deleted!');
break;
end
else
begin
showmessage('Please confirm your operation!');
break;
end
end
else
datasource1.DataSet.Next ;
end;
end;

运行出现"adotable2:dataset not in edit or insert mode"的提示

求高人指点

单独用
adotable2.Open;
adotable2.Edit;
ADOtable2.Delete;
adotable2.Post;
是没有问题的,可以依次删除当前所指的记录
所以我估计出现此问题是因为你当前的表已经与其他的datasource关联了,比如你的表用到了mastersource,那么如果你的mastersourse变化或者与table时一对多的关系 那么你现在的table.state 不能=edit