双击DBGRID的记录时)让它弹出一个新的窗体,这个窗体就是记录了该记录的数据(用DBEedit把记录给显示出来),然后我在这个上面修改这个记录,我现在修改好的记录更新不到数据库里,具体的是这样的,有DBGRID的窗体叫chuaxunform,双击DBGRID弹出的新窗体叫bianjiform,我在bianjiform上的“保存按钮”的代码是:
chuaxunform.ADODataSet1.Post;(我在bianjiform窗体添加的DataSource1的DATASET连接到chuaxunform的ADODataSet1,这两个窗体的ADOConnection1都放在一个数据模块里)
说明:不管我的DBGRID的ReadOnly:=False还是ReadOnly:=True;都没有办法更新数据库?
急!在线等,马上给分
chuaxunform.ADODataSet1.Post;(我在bianjiform窗体添加的DataSource1的DATASET连接到chuaxunform的ADODataSet1,这两个窗体的ADOConnection1都放在一个数据模块里)
说明:不管我的DBGRID的ReadOnly:=False还是ReadOnly:=True;都没有办法更新数据库?
急!在线等,马上给分
可能是你我chuaxunform没有刷新吧
adodataSetq.close;
adodatasetq.open;
试一下吧
chuaxunform.ADODataSet1.open;
如果ADODataSet1的LockType设置为ltBatchOptimistic时,Post并没有提交到数据库
必须Adodataset1.UpdateBatch才可以。
可以贴出你的代码。
procedure TForm2.FormCreate(Sender: TObject);
begin
datasource1.DataSet:=form1.adoquery1;
end;procedure TForm2.Button1Click(Sender: TObject);
begin
datasource1.DataSet.Post;
end;
begin
chaxunkehufm.ADODataSet1.Close;
chaxunkehufm.ADODataSet1.Open;
chaxunkehufm.ADODataSet1.Post;
end;
运行时出错提示:““project xftz.exe raised exception class EAcessViolation with message'Acess violation at address 004B2FB9 in modul'xftz.ex'.read of address 00000310'.process stopped. use step or Run to continue”
”
然后你在chaxunkehufm.ADODataSet1.Open; chaxunkehufm.ADODataSet1.Post;
打开后数据没有修改怎么Post?
procedure Tbianjikehuziliaofm.BitBtn1Click(Sender: TObject);
begin
with chaxunkehufm.ADODataSet1 do
begin
if Active then
if State in [dsEdit,dsInsert] then Post;
end;
end;
100分全给了, “rockswj”讲的很好,下次开贴时我会在题目里注明让你来拿分,还希望多多帮助