sql-serverdelphifiremonkeyfiredacems

Delphi EMS FireDAC: Cannot open dataset [FDMemTable]


I am working with a simple client server application using EMS(i.e: for future iOS application) in Delphi.

This question is the continuation of my previous question with a different error.

This is my previous question with different problem from which I have followed the suggestion given by Marco.

Problem: Now I have an error when I am passing parameter from client to server.

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'.

Hereby I have an Image1 of TFDMemTable properties (DatSTableName: QRowParam) with Param, which throws an error.

Problem TFDMemTable

Hereby I have an Image2 of TFDMemTable properties (DatSTableName: QRows) without Param, which works.

Working TFDMemTable

Question: If I am using general call from client to server, it works and I got all the data. In which I have used Image2 TFDMemTable without param TFDQuery. But if I am passing a parameter from client to server, then I got an error on the client side in which I have used Image1 TFDMemTable with param TFDQuery.

Can anyone suggest me, how should I proceed further from this issue?

Thanks in advance.


Solution

  • I suggest to have a look to the EMS / FireDAC demo that ships with the product. On the client, if you don't have data you cannot open the in-memory datasets. To open them at design time you can create a "template" structure for design, matching the actual fields structure.