小编典典

如何更改数据表中数据列的数据类型?

c#

我有:

DataTable Table = new DataTable;
SqlConnection = new System.Data.SqlClient.SqlConnection("Data Source=" + ServerName + ";Initial Catalog=" + DatabaseName + ";Integrated Security=SSPI; Connect Timeout=120");

SqlDataAdapter adapter = new SqlDataAdapter("Select * from " + TableName, Connection);
adapter.FillSchema(Table, SchemaType.Source);
adapter.Fill(Table);

DataColumn column = DataTable.Columns[0];

我想做的是:

假设当前 column.DataType.Name“ Double” 。我希望它成为 “ Int32”

我该如何实现?


阅读 885

收藏
2020-05-19

共1个答案

小编典典

在数据表中填充数据后,您将无法更改数据类型。但是,您可以克隆数据表,更改列类型并将数据从先前的数据表加载到克隆的表中,如下所示。

DataTable dtCloned = dt.Clone();
dtCloned.Columns[0].DataType = typeof(Int32);
foreach (DataRow row in dt.Rows) 
{
    dtCloned.ImportRow(row);
}
2020-05-19