【发布时间】:2014-10-29 13:01:33
【问题描述】:
我正在使用 Delphi 中的 EMS(即:用于未来的 iOS 应用程序)处理一个简单的客户端服务器应用程序。
这个问题是我上一个问题的延续,但有一个不同的错误。
This is my previous question with different problem 从中我遵循了 Marco 的建议。
问题:现在我在将参数从客户端传递到服务器时出现错误。
Project EMS_Test_Client_Project.exe raised exception class EFDException with message '[FireDAC][Comp][DS]-206. Cannot open dataset [FDMemTable]. A DataTable or a DataView must be supplied. Hint: if that is TFDMemTable, use CreateDataSet or CloneCursor to open dataset'.
我有一个 Image1 的 TFDMemTable 属性(DatSTableName:QRowParam)和 Param,这会引发错误。
我有一个 Image2 的 TFDMemTable 属性(DatSTableName:QRows),没有 Param,它可以工作。
问题: 如果我使用从客户端到服务器的通用调用,它可以工作并且我得到了所有数据。其中我使用了没有参数 TFDQuery 的 Image2 TFDMemTable。但是,如果我将参数从客户端传递到服务器,那么我在客户端遇到错误,在该客户端我使用了带有参数 TFDQuery 的 Image1 TFDMemTable。
任何人都可以建议我,我应该如何进一步解决这个问题?
提前致谢。
【问题讨论】:
-
在你的
TFDMemTable组件上将Active属性设置为 true 应该会在设计时创建必要的内存表数据集(因为这是异常所要求的)。 -
@TLama 在 TFDMemTable 组件上将 Active 属性设置为 true 后,我也遇到了同样的错误!还有其他建议吗?
-
抱歉,没有其他线索。我从未使用过适配器。这只是我对您发布的异常的直接反应。
标签: sql-server delphi firemonkey firedac ems