sách gpt4 ai đã đi

Delphi - Các tập con ADODataSet

In lại 作者:行者123 更新时间:2023-12-01 23:20:44 29 4
mua khóa gpt4 Nike

我正在 Delphi 中构建一个表单,其中包含服务下拉列表和用于选择服务的附加组件网格。我获取的数据来自 API,并且我将服务的数据存储在 ADODataSet 中,如下所示:

ID (integer)
Name (string)
Description (string)
BasePrice (currency)
AddOns (array of AddOn, not currently stored in the ADODataSet)

我希望根据下拉列表中的选择使用附加组件数据填充网格(每个服务都有不同的附加组件列表)。如何存储附加信息,以便将其与服务信息相关联?我是否需要创建第二个 ADODataSet,或者是否有办法将其存储在与服务相同的 ADODataSet 中?

附加组件具有以下字段:

ID (integer)
Name (string)
Description (string)
UnitPrice (currency)
Quantity (integer)

我使用的是 Delphi 2005,并且有 Indy for Delphi。

biên tập

在深入研究数据集的字段编辑器时,我发现可以创建“数据集”类型的字段。这能让我将两者联系在一起吗?如果是这样,有人可以解释一下这是如何完成的吗?

我尝试通过创建第二个数据集 (ADODataSetAddOns) 并将新数据集分配给第一个数据集 (ADODataSetServices.AddOns) 中的数据集字段来实现此目的,但收到错误消息“数据集没有匹配的 ADO 数据类型”,其中我假设指的是 AddOns 字段未找到数据集。

1 Câu trả lời

您可以使用 2 个数据集(主从)来显示服务和插件之间的关系,然后使用 TClientDataset作为内存数据集,您可以使用 Service Id,Addon Id 对作为索引来存储选择,该客户端数据集的结构可以在运行时创建,如下所示

  ClientDataSet1.FieldDefs.Clear;
ClientDataSet1.FieldDefs.Add('IdService', ftInteger);
ClientDataSet1.FieldDefs.Add('IdAddon ', ftInteger);
//add morr fieldd here is you want
ClientDataSet1.IndexDefs.Add('Index1','IdService;IdAddon',[ixPrimary, ixUnique]);
ClientDataSet1.IndexName:='Index1';
ClientDataSet1.CreateDataSet;

最后,当您需要将用户选择的数据传递给服务时,您可以像任何 TDataset 一样迭代 ClientDataset。

关于Delphi - ADODataSet 子集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10209964/

29 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com