c#数据表在位置0插入列
Posted
技术标签:
【中文标题】c#数据表在位置0插入列【英文标题】:c# datatable insert column at position 0 【发布时间】:2010-11-23 07:36:36 【问题描述】:有谁知道在数据表的位置 0 处插入列的最佳方法?
【问题讨论】:
为什么要这样做?列的顺序实际上应该不相关。 有时,如果您在从 db 获取数据后向数据表添加列,您可能需要在请求时设置它。 我将数据表放入批量插入中 @Stefan,我相信在使用 Sql BulkCopy 时列的顺序是相关的。 【参考方案1】: //Example to define how to do :
DataTable dt = new DataTable();
dt.Columns.Add("ID");
dt.Columns.Add("FirstName");
dt.Columns.Add("LastName");
dt.Columns.Add("Address");
dt.Columns.Add("City");
// The table structure is:
//ID FirstName LastName Address City
//Now we want to add a PhoneNo column after the LastName column. For this we use the
//SetOrdinal function, as iin:
dt.Columns.Add("PhoneNo").SetOrdinal(3);
//3 is the position number and positions start from 0.`enter code here`
//Now the table structure will be:
// ID FirstName LastName PhoneNo Address City
【讨论】:
【参考方案2】:只是为了改进 Wael 的答案并将其放在一行中:
dt.Columns.Add("Better", typeof(Boolean)).SetOrdinal(0);
更新:请注意,当您不需要对 DataColumn 执行任何其他操作时,此方法有效。 Add() 返回有问题的列,SetOrdinal() 不返回任何内容。
【讨论】:
单一的声明并不总是更好。在这种情况下,我喜欢 +1【参考方案3】:您可以使用以下代码将列添加到 Datatable 的位置 0:
DataColumn Col = datatable.Columns.Add("Column Name", System.Type.GetType("System.Boolean"));
Col.SetOrdinal(0);// to put the column in position 0;
【讨论】:
以上是关于c#数据表在位置0插入列的主要内容,如果未能解决你的问题,请参考以下文章
sql server 表中有一列,往数据库同时插入几条数据时,这个列的值是相同的