2009-11-17 45 views
3

我想知道是否可以將數據集嵌套到數據集中,然後將此數據集嵌套到另一個數據集中。因此3層嵌套。目前我只能在一個數據集中嵌套一個數據集。當試圖嵌套第三層時,第一次編譯我的程序並且我能夠輸入數據時,數據庫管理成功運行。當我第二次嘗試運行該程序時,EDBClient會發出一條消息,提示「數據包中的不匹配」。使用TClient數據集在兩個以上的級別嵌套數據集?

所以我想知道是否有可能將3個級別的數據集嵌套在一起?

親切的問候 裏安

回答

1

簡單的答案是肯定的,你可以有三個層次相互嵌套的數據集。我有ClientDataSets的例子,其中嵌套向下6級。事實上,除了內存約束條件之外,我認爲嵌套深度並不存在限制。

+1

查看jachguate的帖子。 – 2010-10-06 18:14:18

2

短篇小說:

德爾福XE試試吧......我現在主要的項目這個解決的bug。

長的故事:

我面對你有3個或更多級別的嵌套數據集的同樣的問題時,有與2010年德爾福

數據庫方面的任何錯誤之前的最後一個版本我嚴重使用德爾福2007年沒有問題,所以有可能在德爾福2009年或德爾福2010年引入不良行爲。

我在客戶端追溯到midas.dll此問題,並且它發生無論你是使用MidasLib靜態鏈接midas。 Midas「認爲」它從服務器收到的數據包格式錯誤,並引發異常。這個異常打破了「正常」錯誤協調過程,因此無法嘗試從錯誤中恢復:OnReconcileError從未被觸發,並且由於VCL的這部分內部沒有try/except塊而導致進程中止。

我確定這是一個錯誤,但不是如果它發生在服務器或客戶端上,當我正在努力生產一個項目來放置支持票據,同時試圖將其降低到最低,它發生了德爾福XE被釋放,我在SA下,所以我得到它的最後一分鐘。

下載,安裝,配置...然後,我編譯我的支持項目,一切工作正常。我編譯了我的主項目:由於這個原因我正面臨着用戶的實際問題,以及由於最後一次驗證或狀態/條件更改導致數據庫觸發器和存儲過程異常。一切正常。用戶正在收到有意義的錯誤消息,應用程序恢復了執行數據轉換和重試的能力,或者在某些情況下要求用戶執行什麼操作。

對不起,在我努力診斷Embarcadero並向Embarcadero報告這個問題的過程中,我沒有發現任何解決方法,也許別人可以更好地幫助您,而不會提示升級。