delphi 7 点击cxgrid后 新增数据时报错?
delphi 7 点击cxgrid后 新增数据时报错?报‘dataset not in edit or insert mode’,请大家帮个忙,我怎么查也查不出错在哪里,不点击cxgrid,新增数据就没问题!先谢谢大家!
代码如下:
procedure TForm1.btaddClick(Sender: TObject);
var tmpxmdh,tmpajh,tmpqx,tmpschnd:string;
sy,sm,sd:word;
begin
if btadd.Caption='增加' then
begin
pub_bgqx:=prvbgqx;
pub_class_id:=prvflh;
DecodeDate(now,sy,sm,sd);
with adod_wjj do
begin
close;
commandtext:='select * from wscl_wsda_file order by wjjh desc';
open;
end;
adod_wjj.Append;
cxdbtextedit11.SetFocus;
cxdbtextedit13.DataBinding.DataSource.DataSet.FieldByName('ys').AsInteger:=0;
cxdbtextedit14.DataBinding.DataSource.DataSet.FieldByName('wjfs').AsInteger:=1;
cxdbcombobox6.DataBinding.DataSource.DataSet.FieldByName('bzbm').AsString:=prvbzbm;
cxdbcombobox7.DataBinding.DataSource.DataSet.FieldByName('ztlx').AsString:=prvztlx;
cxdbcombobox9.DataBinding.DataSource.DataSet.FieldByName('mj').AsString:=prvmj;
cxdbtextedit19.DataBinding.DataSource.DataSet.FieldByName('cfwz').AsString:=prvcfwz;
cxdbtextedit18.DataBinding.DataSource.DataSet.FieldByName('wjhh').AsString:=prvhh;
cxdbtextedit28.DataBinding.DataSource.DataSet.FieldByName('flh').AsString:=prvflh;
cxdbtextedit17.DataBinding.DataSource.DataSet.FieldByName('wjnd').AsString:=prvwjnd;
cxdbcombobox8.DataBinding.DataSource.DataSet.FieldByName('bgqx').AsString:=pub_bgqx;
cxdbdateedit6.DataBinding.DataSource.DataSet.FieldByName('gdsj').value:=date;
btadd.Caption:='保存';
btmod.Caption:='还原';
end
else
begin
if ((trim(cxdbtextedit17.Text)='') or (trim(cxdbcombobox8.Text)='') or (trim(cxdbtextedit29.Text)='')) then
begin
MessageBox(0, '文件保管期限、文件年度、文件时间不能为空!', '操作提示:', MB_ICONINFORMATION + MB_OK);
exit;
end;
prvbzbm:=trim(cxdbcombobox6.Text);
prvflh:=trim(cxdbtextedit28.Text);
prvwjnd:=trim(cxdbtextedit17.Text);
prvhh:=trim(cxdbtextedit18.Text);
prvztlx:=trim(cxdbcombobox7.Text);
prvbgqx:=trim(cxdbcombobox8.Text);
prvmj:=trim(cxdbcombobox9.Text);
prvcfwz:=trim(cxdbtextedit19.Text);
with adod_wjj do
begin
fieldbyname('bzbm').Value:=trim(cxdbcombobox6.Text);
fieldbyname('ys').Value:=strtoint(trim(cxdbtextedit13.Text));
fieldbyname('wjfs').Value:=strtoint(trim(cxdbtextedit14.Text));
fieldbyname('flh').Value:=trim(cxdbtextedit28.Text);
fieldbyname('wjnd').Value:=trim(cxdbtextedit17.Text);
fieldbyname('wjhh').Value:=trim(cxdbtextedit18.Text);
fieldbyname('cfwz').Value:=trim(cxdbtextedit19.Text);
tmpschnd:=trim(cxdbtextedit17.Text);
fieldbyname('ztlx').Value:=trim(cxdbcombobox7.Text);
fieldbyname('gdsj').Value:=cxdbdateedit6.date;
fieldbyname('bgqx').Value:=trim(cxdbcombobox8.Text);
fieldbyname('mj').Value:=trim(cxdbcombobox9.Text);
tmpqx:=trim(cxdbcombobox8.Text);
fieldbyname('gdbz').Value:='未归档';
fieldbyname('operdate').Value:=now;
post;
end;
with adod_wjj do
begin
close;
commandtext:='select * from wscl_wsda_file where wjnd=:tnd and bgqx=:tqx order by bgqx,wjjh desc';
parameters[0].DataType:=ftstring; parameters[1].DataType:=ftstring;
parameters[0].Value:=tmpschnd; parameters[1].Value:=tmpqx;
open;
end;
btadd.Caption:='增加';
btmod.Caption:='修改';
end;
end;
procedure TForm1.cxGrid3DBTableView1CellClick(
Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
begin
with adod_wjj do
begin
prvbzbm:=fieldbyname('bzbm').AsString;
prvflh:=fieldbyname('flh').AsString;
prvwjnd:=fieldbyname('wjnd').AsString;
prvhh:=fieldbyname('wjhh').AsString;
prvztlx:=fieldbyname('ztlx').AsString;
prvbgqx:=fieldbyname('bgqx').AsString;
prvmj:=fieldbyname('mj').AsString;
prvcfwz:=fieldbyname('cfwz').AsString;
prvbgqxcode:=fieldbyname('bgqxcode').AsString;
end;
end;