gpt4 book ai didi

c# - 如何将一列插入到两个现有列之间的数据集中?

转载 作者:IT王子 更新时间:2023-10-29 04:37:00 25 4
gpt4 key购买 nike

我正在尝试使用 C# 将列插入到现有数据集中。

例如,我有一个数据集定义如下:

DataSet ds = new DataSet();
ds.Tables.Add(new DataTable());
ds.Tables[0].Columns.Add("column_1", typeof(string));
ds.Tables[0].Columns.Add("column_2", typeof(int));
ds.Tables[0].Columns.Add("column_4", typeof(string));

稍后在我的代码中,我想在第 2 列和第 4 列之间插入一列。

DataSet 有添加列的方法,但我似乎找不到插入列的最佳方法。

我想写类似下面的东西......

...Columns.InsertAfter("column_2", "column_3", typeof(string))

最终结果应该是一个数据集,其中包含一个包含以下列的表格:column_1 column_2 column_3 column_4

而不是:column_1 column_2 column_4 column_3 这是 add 方法给我的内容

肯定有办法做这样的事情。

编辑...只是想根据下面的一些评论澄清我对数据集所做的事情:

I am getting a data set from a stored procedure. I am then having to add additional columns to the data set which is then converted into an Excel document. I do not have control over the data returned by the stored proc so I have to add columns after the fact.

最佳答案

您可以使用 DataColumn.SetOrdinal()用于此目的的方法。

DataSet ds = new DataSet();
ds.Tables.Add(new DataTable());
ds.Tables[0].Columns.Add("column_1", typeof(string));
ds.Tables[0].Columns.Add("column_2", typeof(int));
ds.Tables[0].Columns.Add("column_4", typeof(string));
ds.Tables[0].Columns.Add("column_3", typeof(string));
//set column 3 to be before column 4
ds.Tables[0].Columns[3].SetOrdinal(2);

关于c# - 如何将一列插入到两个现有列之间的数据集中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/351557/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com