2009-11-17 44 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报告这个问题的过程中,我没有发现任何解决方法,也许别人可以更好地帮助您,而不会提示升级。