我对一个只有一个字段表进行操作,但当我进行删除操作时,出现如下错误,“Project MDIAPP.exe raised exception class EDatabaseError with message 'Dataset not in edit or insert mode'. Process stopped, Use Step or Run to continue" ,我应该如何修改程序,程序如下:
var
F_basic: TF_basic;
adoq_company:TADOQuery;
ds_company:TDatasource;
implementation
uses DM_parameter_set;
{$R *.dfm}
procedure TF_basic.FormCreate(Sender: TObject);
begin
Height:=356;
Width:=354;
try
adoq_company:=TADOQuery.Create(nil);
ds_company:=TDatasource.Create(nil);
ds_company.DataSet:=adoq_company;
dbgrid1.DataSource:=ds_company;
adoq_company.Connection:=parameter_set_DM.ADOConnection1;
adoq_company.Close;
adoq_company.SQL.Clear;
adoq_company.SQL.Add('select * from shzf.COMPANY');
adoq_company.Prepared;
adoq_company.Open;
except
showmessage('数据库连接出错');
end;
end;
procedure TF_basic.Button1Click(Sender: TObject); //新增
begin
inherited;
adoq_company.Append;
end;
procedure TF_basic.Button2Click(Sender: TObject); //删除
begin
inherited;
ADOq_company.Edit;
ADOq_company.Delete;
adoq_company.Post;
end;
procedure TF_basic.Button13Click(Sender: TObject); //提交
begin
inherited;
ADOq_company.Edit;
if ADOq_company.Fields[0].AsString = '' then
showmessage('表中字段值不能为空')
else
ADOq_company.Post;
end;
procedure TF_basic.Button3Click(Sender: TObject); //退出
begin
inherited;
ADOq_company.Free;
F_basic.close;
end;
end.
var
F_basic: TF_basic;
adoq_company:TADOQuery;
ds_company:TDatasource;
implementation
uses DM_parameter_set;
{$R *.dfm}
procedure TF_basic.FormCreate(Sender: TObject);
begin
Height:=356;
Width:=354;
try
adoq_company:=TADOQuery.Create(nil);
ds_company:=TDatasource.Create(nil);
ds_company.DataSet:=adoq_company;
dbgrid1.DataSource:=ds_company;
adoq_company.Connection:=parameter_set_DM.ADOConnection1;
adoq_company.Close;
adoq_company.SQL.Clear;
adoq_company.SQL.Add('select * from shzf.COMPANY');
adoq_company.Prepared;
adoq_company.Open;
except
showmessage('数据库连接出错');
end;
end;
procedure TF_basic.Button1Click(Sender: TObject); //新增
begin
inherited;
adoq_company.Append;
end;
procedure TF_basic.Button2Click(Sender: TObject); //删除
begin
inherited;
ADOq_company.Edit;
ADOq_company.Delete;
adoq_company.Post;
end;
procedure TF_basic.Button13Click(Sender: TObject); //提交
begin
inherited;
ADOq_company.Edit;
if ADOq_company.Fields[0].AsString = '' then
showmessage('表中字段值不能为空')
else
ADOq_company.Post;
end;
procedure TF_basic.Button3Click(Sender: TObject); //退出
begin
inherited;
ADOq_company.Free;
F_basic.close;
end;
end.
ADOq_company.Edit;
ADOq_company.Delete;
//好象不用POST;
begin
inherited;
ADOq_company.Delete;
end;