2

I have created a simple new Rad Server Package with resource with a data module to access a Firebird 3.05 database running on Ubuntu 18.0.4. I included sample endpoints and a database endpoint with one table from the database.

I modified the created FDQuery to return a subset of the records.

select * from EXPENSES where COMPANYID = :COMPANYID

It indicated the FireDACFBDriver was not found, and instead of adding the PhysFBDriverLink, I deleted the FireDACFBDriver in the project source and it asked to add back the FireDACIBDriver and it works. This is besides the point, I think, but just full disclosure. I have tried the PhysFBLink with same results, but have had trouble switching back and forth to Linux deploy, so this works for testing I believe.

The client app consists of a TEMSFireDACClient, a FDSchemaAdapter, FD TAble Adapter, FDMemTable and datasource and dbgrid and three buttons.

Button1

Expenses.GetEndpoint.Params.Clear()
expenses.GetEndpoint.Params.AddItem(
  'CompanyID','10000080');
Expenses.GetData();

Button2

FDMemTable1.delete;

Button3

Expenses.GetEndpoint.Params.Clear();
expenses.GetEndpoint.Params.AddItem(
  'CompanyID','10000080');
Expenses.PostUpdates;

Button One retrieves multiple rows, and button two deletes a row locally, and button 3 tries to apply the table updates back to the server.

When attempting to post updates. I get the following error:

EMS Error: Resource error. Request parameter not found: COMPANYID.

This works when the resource SQL is SELECT * FROM EXPENSES. Is it just that the TEMSDataSetResources can only work on the full table, or Is there something simple I am missing or a reference available for how to accomplish this?

I have tried creating a manual delete endpoint with:

delete from EXPENSES where EXPENSEID = #####

However, that is another post maybe if I have to go there. I cannot get around and error converting Unicode to integer variant when passing the parameter.

Mark Rotteveel
  • 100,966
  • 191
  • 140
  • 197

0 Answers0