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

时间:2017-06-05 13:21:55

标签: delphi ado

我有一个TADODataSet从DB加载一些列(一个SP,但这没关系)。 e.g:

SELECT A, B, C, D FROM Foo

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

C, D, A, B

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

1 个答案:

答案 0 :(得分:9)

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

示例:

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;