我创建了一个简单的新 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 转换为整数变体时出错。