如何更改已打开的 TADODataSet 中字段的顺序?

How to change the order of fields in an already opened TADODataSet?

我有一个 TADODataSet 从数据库加载一些列(一个 SP,但这并不重要)。例如:

SELECT A, B, C, D FROM Foo

现在, 我打开数据集后,是否可以更改 TADODataSet 中字段的顺序(或交换它们),以便它包含例如:

C, D, A, B

我想在不更改命令文本本身的情况下执行此操作。 可能吗?

您可以使用 Index 属性 或 TField class 来设置所需的顺序。

示例:

MyDataset.FieldByName('C').Index := 0;
MyDataset.FieldByName('D').Index := 1;
MyDataset.FieldByName('A').Index := 2;
MyDataset.FieldByName('B').Index := 3;

如果字段是持久的,这也有效:

MyDatasetC.Index := 0;
MyDatasetD.Index := 1;
MyDatasetA.Index := 2;
MyDatasetB.Index := 3;