2

我创建了一个简单的新 Rad 服务器包,其中包含带有数据模块的资源,用于访问在 Ubuntu 18.0.4 上运行的 Firebird 3.05 数据库。我包含了示例端点和一个数据库端点以及数据库中的一个表。

我修改了创建的 FDQuery 以返回记录的子集。

select * from EXPENSES where COMPANYID = :COMPANYID

它表明未找到 FireDACFBDriver,我没有添加 PhysFBDriverLink,而是删除了项目源中的 FireDACFBDriver,它要求重新添加 FireDACIBDriver,它可以工作。我认为这不是重点,只是完全披露。我已经尝试过具有相同结果的 PhysFBLink,但是在切换到 Linux 部署时遇到了麻烦,所以我相信这适用于测试。

客户端应用程序由 TEMSFireDACClient、FDSchemaAdapter、FD TAble 适配器、FDMemTable 和数据源以及 dbgrid 和三个按钮组成。

按钮 1

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

按钮 2

FDMemTable1.delete;

按钮 3

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

按钮 1 检索多行,按钮 2 在本地删除一行,按钮 3 尝试将表更新应用回服务器。

尝试发布更新时。我收到以下错误:

EMS 错误:资源错误。未找到请求参数:COMPANYID。

当资源 SQL 为SELECT * FROM EXPENSES. 只是 TEMSDataSetResources 只能在整个表上工作,还是我缺少一些简单的东西或可用于如何完成此操作的参考?

我尝试使用以下方法创建手动删除端点:

delete from EXPENSES where EXPENSEID = #####

但是,如果我必须去那里,那可能是另一个帖子。传递参数时,我无法绕过并将 Unicode 转换为整数变体时出错。

4

0 回答 0