H
hyhy
Unregistered / Unconfirmed
GUEST, unregistred user!
1.主子表程序,在设计程序时,由于有要求,数据取完之后立即断开连接,类似WebService,所以使用此方法取数据:
GetData(const SQLstr:string;out vdata:Olevariant);
其中:SQLstr为查询语法,
vData为返回数据。
中间层用ClientDataSet+DataSetProvider+SQLquery实现,由于要保证速度,在中间层的DataSetProvider中把[Options]poFetchDetailsOnDemand、poFetchBlobsOnDemand等相关的属性都置成了True,所以在开始时子表数据和Blob数据都没有取,在客户端需要例如滚动时才去取,这时候由于不是直接Midas连接,已经不能直接调用ClientDataSet.FetchDetails、ClientDataSet.FetchBlobs等方法了,请问如何用其他的方法实现ClientDataSet.FetchDetails、ClientDataSet.FetchBlobs一样的功能?
2.在这种情况下,更新数据我又采用了
UpdateData(Const Delta:OleVariant;out errData:OleVariant);
其中:Delta为ClientDataSet的Delta,
errData为返回的没有更新成功的记录。
这个方法如何实现?
errData返回后如何将客户端的Delta更换,以节省下次修改更新提交的数据量?
该问题累计共400分,另外300分在
http://www.delphibbs.com/delphibbs/dispq.asp?lid=2566290
这两个问题可能困扰了很多程序员,如果能够解决相信会对大家都有很大的帮助,希望大家踊跃回答,能答一个算一个。
GetData(const SQLstr:string;out vdata:Olevariant);
其中:SQLstr为查询语法,
vData为返回数据。
中间层用ClientDataSet+DataSetProvider+SQLquery实现,由于要保证速度,在中间层的DataSetProvider中把[Options]poFetchDetailsOnDemand、poFetchBlobsOnDemand等相关的属性都置成了True,所以在开始时子表数据和Blob数据都没有取,在客户端需要例如滚动时才去取,这时候由于不是直接Midas连接,已经不能直接调用ClientDataSet.FetchDetails、ClientDataSet.FetchBlobs等方法了,请问如何用其他的方法实现ClientDataSet.FetchDetails、ClientDataSet.FetchBlobs一样的功能?
2.在这种情况下,更新数据我又采用了
UpdateData(Const Delta:OleVariant;out errData:OleVariant);
其中:Delta为ClientDataSet的Delta,
errData为返回的没有更新成功的记录。
这个方法如何实现?
errData返回后如何将客户端的Delta更换,以节省下次修改更新提交的数据量?
该问题累计共400分,另外300分在
http://www.delphibbs.com/delphibbs/dispq.asp?lid=2566290
这两个问题可能困扰了很多程序员,如果能够解决相信会对大家都有很大的帮助,希望大家踊跃回答,能答一个算一个。