【问题标题】:Delphi EMS FireDAC: Cannot open dataset [FDMemTable]Delphi EMS FireDAC:无法打开数据集 [FDMemTable]
【发布时间】: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


【解决方案1】:

我建议查看产品随附的 EMS / FireDAC 演示。在客户端上,如果您没有数据,则无法打开内存数据集。要在设计时打开它们,您可以为设计创建一个“模板”结构,与实际的字段结构相匹配。

【讨论】:

  • 我一直关注这些EMS Client Pet docwiki linkEMS Resource Pet docwiki link,但它没有FireDAC。能否请您给我产品随附的 EMS/FireDAC 演示的链接?我找不到它。提前致谢。
  • 看下demos,Object Pascal / Database / EMS 有一个FireDAC demo
  • 最后我设法通过参数在客户端和服务器之间进行通信。感谢您的建议。你是唯一能帮助我解决 Delphi 和 EMS 类问题的人 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多