关于多层架构更新数据设置主键的问题

suvi 2002-04-12 10:04:00
我得问题很少能找到答案,:-( 不灰心,继续求教

问题 3层架构中applyupdates更新数据设置主键问题

详述:
1 server中用adoquery+datasetprovider
DataSetProvider的更新属性ResolveDataset设置为 false,我希望通过直接产生sql语句更新, UpdateMode设置为UpdateWhereKeyONly,我希望有更高的执行效率

2 Client中的TClientDataSet是动态使用sql语句才查询数据,查询完毕后手动设置查询结果中那些字段为pfInKey

3 ClientDataSet 在修改数据后进行保存ApplyUpdates(0)

4 DataSetProvider 报告错误,找不到主键(主键未定义)

跟踪:
ClientDataSet设置主键的过程正常,所有的主键字段都设置了pfInkey
ClientDataSet在ApplyUpdates(0)时传到DataSetProvider的Delta数据没有包含这些主键的信息,问题就在这里了

请各位大侠给个意见,是怎么回事?
...全文
71 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
suvi 2002-04-12
  • 打赏
  • 举报
回复
我的问题是ClientDataset在更新资料的时候主键信息没有被传入Provider?这个问题怎么解决?
newwen 2002-04-12
  • 打赏
  • 举报
回复
用一个ADOQuery就行,ADOQuery支持多表更新;用两个ADOQuery需要分别插入

5,379

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧