我做了一个ADOQuery对数据库进行添加和修改,我做了三个按钮Goods_AddButton、Goods_ModButton、Goods_SavButton和一个DBGrid:Goods_InfoDBGrid。DBGrid和ADOQuery关联,我在增加的时候的代码:
procedure Tdatamanage_Form.Goods_AddButtonClick(Sender: TObject);
var I:integer;
begin
try
DM_DataModule.Goods_ADOQuery.close;
DM_DataModule.Goods_ADOQuery.open;
DM_DataModule.Goods_ADOQuery.Last;
if DM_DataModule.Goods_ADOQuery.fieldbyname('goods_id').asstring<>'' then
I:=strtoint(DM_DataModule.Goods_ADOQuery.fieldbyname('goods_id').asstring)+1
else i:=1;
DM_DataModule.Goods_ADOQuery.close;
DM_DataModule.Goods_ADOQuery.open;
DM_DataModule.Goods_ADOQuery.append;
Goods_IdDBEdit.Text:=formatfloat('000000',i); //生成6位产品编号
Except on Exception do showmessage('数据连接错误!');
end;
end;保存时候的代码:
procedure Tdatamanage_Form.Goods_SavButtonClick(Sender: TObject);
begin
try DM_DataModule.Goods_ADOQuery.Post;
DM_DataModule.Goods_ADOQuery.close;
DM_DataModule.Goods_ADOQuery.open;
Goods_AddButton.setfocus;
Except on Econverterror do showmessage('aaaaaaaa');
on Exception do showmessage('数据连接错误!');
end;
end;修改时候的代码:
procedure Tdatamanage_Form.Goods_ModButtonClick(Sender: TObject);
begin DM_DataModule.Goods_ADOQuery.Edit;
end;
首先是修改时的代码不知道写对没有,现在的问题是,先点击添加,输入信息,再点击保存,没有任何问题,可以保存,但是在点击修改后,修改信息,在点击保存,执行到post是报错:缺少刷新或更新的健列信息,请大人指点
procedure Tdatamanage_Form.Goods_AddButtonClick(Sender: TObject);
var I:integer;
begin
try
DM_DataModule.Goods_ADOQuery.close;
DM_DataModule.Goods_ADOQuery.open;
DM_DataModule.Goods_ADOQuery.Last;
if DM_DataModule.Goods_ADOQuery.fieldbyname('goods_id').asstring<>'' then
I:=strtoint(DM_DataModule.Goods_ADOQuery.fieldbyname('goods_id').asstring)+1
else i:=1;
DM_DataModule.Goods_ADOQuery.close;
DM_DataModule.Goods_ADOQuery.open;
DM_DataModule.Goods_ADOQuery.append;
Goods_IdDBEdit.Text:=formatfloat('000000',i); //生成6位产品编号
Except on Exception do showmessage('数据连接错误!');
end;
end;保存时候的代码:
procedure Tdatamanage_Form.Goods_SavButtonClick(Sender: TObject);
begin
try DM_DataModule.Goods_ADOQuery.Post;
DM_DataModule.Goods_ADOQuery.close;
DM_DataModule.Goods_ADOQuery.open;
Goods_AddButton.setfocus;
Except on Econverterror do showmessage('aaaaaaaa');
on Exception do showmessage('数据连接错误!');
end;
end;修改时候的代码:
procedure Tdatamanage_Form.Goods_ModButtonClick(Sender: TObject);
begin DM_DataModule.Goods_ADOQuery.Edit;
end;
首先是修改时的代码不知道写对没有,现在的问题是,先点击添加,输入信息,再点击保存,没有任何问题,可以保存,但是在点击修改后,修改信息,在点击保存,执行到post是报错:缺少刷新或更新的健列信息,请大人指点
解决方案 »
- 图像旋转问题
- dll的函数调用无反应,奇怪的问题,到底哪里出了问题?
- DELPHI 如何接收 C 中的结构
- 怎样在RichEdit中不通过SelStart来控制某一行文本的字体?(将加入FAQ)
- 请教高手:package 和 DLL的区别?
- DBExpress中当有多结果集返回时,只能取前两个,如何取第三个呢?
- 急!!1怎样把dbgrid1中,字段姓名的高度和左右宽度的值赋给ComboBox1?
- 大家帮忙看看,如何打印一条直线
- 50教助intraweb如何使form的大小自动适应显示器的分辨率
- 关于ShellListView控件的一系列问题
- 怎么取QQ的窗口中 edit的文本?
- 急问:如何获得及设置本机的ip地址,子网掩码,网关,dns服务器等。
DM_DataModule.Goods_ADOQuery.open;
最好有再上下面这个一句:
DM_DataModule.Goods_ADOQuery.clear;
我一般不用你那种方法
我一般用with
with adoquery1 do
begin
sql.close;
sql.clear;
sql.add('update table set........');
execsql;
......
end;