多层结构多表查询的更新(200分)

  • 主题发起人 主题发起人 zhoujg
  • 开始时间 开始时间
Z

zhoujg

Unregistered / Unconfirmed
GUEST, unregistred user!
书上说设置TDataSetProvider的ResolverToDataset为True就可以让ADO数据集控件自己更新,
可是我怎么每次更新之后就出现“在对应所需要名称或序数的集合中,未找到项目。”的错误。
控件的连接如下:
ADOConnection- ADOQuery- DataSetProvider- CLientDataSet- DataSource- DataGrid
请问是否要设置ADOQuery的参数?如何能不出错啊。我要具体点的。
 
我试过没问题,我用的是AdoDataSet而不是ADOQuery。
 
一般单表查询,即select * from TableA
用ResolverToDataset比较好,但如果有外
联接,且有同名字段,就要设置Provider的
UpdateMode属性为UpdateKeyOnly,一般我的
做法是自己写Provider的BeforeUpdateRecord
事件,如下:
begin
case UpdateKind of
ukModify:
....
ukInsert:
....
ukDelete:
....
Applied := True;
//这句一定要加,否则你的应用服务器还是会自己去执行更新程序
end;
 
提提!!
 
用Access好像没问题,但是用SQL_SERVER好像就出错
 
rainxy2002:
删除会把两条全部删除,如果我只想删除一个表是不是在你说的那个事件里写啊?
有没有源码?
jingen_zhou@sina.com
 
已经发出,去收吧
 
接受答案了.
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
767
DelphiTeacher的专栏
D
D
回复
0
查看
825
DelphiTeacher的专栏
D
后退
顶部