如何更改已打开的 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;
我有一个 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;