如何更改类型数据表列

本文关键字:数据表 类型 何更改 | 更新日期: 2023-09-27 17:52:44

可能重复:
如何转换DataTable列类型?

如果表已经有值,我们如何更改数据表列类型?

如何更改类型数据表列

在填充后更改数据表的数据类型是不可能的,但这方面的工作之一是克隆数据表和更改类型

第一路

//clone datatable     
DataTable dtCloned = dt.Clone();
//change data type of column
dtCloned.Columns[0].DataType = typeof(Int32);
//import row to cloned datatable
foreach (DataRow row in dt.Rows) 
{
    dtCloned.ImportRow(row);
}

第二路

另一种方法是这样,先填充模式,然后再更改列数据类型和填充可数据

adapter.FillSchema(table, SchemaType.Source);
table.Columns[0].DataType = typeof (Int32);
adapter.Fill(table);

第三路

还有一种方法是

System.Data.DataTable dt = new System.Data.DataTable();
dt.Columns.Add("Col1", typeof(int));
dt.Rows.Add(1);
System.Data.DataTable dt2 = new System.Data.DataTable();
dt2.Columns.Add("Col1", typeof(string));
dt2.Load(dt.CreateDataReader(), System.Data.LoadOption.OverwriteChanges);