dsp的Option指定poAllowCommandText为true
在ClientDateSet中动态指定CommandText属性就可以了
在ClientDateSet中动态指定CommandText属性就可以了
解决方案 »
- 高分求,在线等QRDBRichText的简单问题,5点前结贴!
- 如何安装fastreport到delphi中去阿?在线等
- 一个关于AdoQuery的问题!(难)
- 请问哪里可以下到installshield express?
- 为什么有错??
- 有谁可以告知使用Delphi开发的为人所知的一些软件系统?
- try5
- 我们公司有一个网吧管理的程序服务端和客户端现在有人要买它的源码......试问可以卖多少?
- 急急急我想询问那里有网络办公的软件有文档更好100分送上
- 怎么判断一个构件是什么类?
- 两个经验性问题,先回答先得分哦!
- 如何通过一个菜单点击去发送一个消息给Form,使Form能翻译成多语言的?????????/
如果你非要这样做首先得明白的是 Update时的动作, 大概过程是这样, 细节不记1. ClientDataSet call ApplyUpdates2. DataSetProvider active BeforeApplyUpdates
3. DataSetProvider active BeforeUpdateRecord OnUpdateRecord AfterUpdateRecord every record
4. DataSetProvider active AfterApplyUpdates关键就在于 2 中, 是实际更新语句, 这时是用一个分析器产生SQL语句,当然BeforeUpdateRecord时 Applied = true 时没有使用分析器...分析器是针对 SourceDS中字段产生SQL语句, 也就是说只要SourceDS是你要更新的表就可以正确更新,但SourceDS是个指针, 所有DataSet控件都是用 new分配的, 所以改不到调用者的值..我想了想, 可以在 BeforeApplyUpdates时, ClientDataSet送个表名就可以作到了