为了账号安全,请及时绑定邮箱和手机立即绑定

如何更改DataTable中DataColumn的DataType?

如何更改DataTable中DataColumn的DataType?

C#
跃然一笑 2019-09-20 15:12:23
我有: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”。我该如何实现这一目标?
查看完整描述

3 回答

?
动漫人物

TA贡献1815条经验 获得超10个赞

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


DataTable dtCloned = dt.Clone();

dtCloned.Columns[0].DataType = typeof(Int32);

foreach (DataRow row in dt.Rows) 

{

    dtCloned.ImportRow(row);

}


查看完整回答
反对 回复 2019-09-20
?
慕标5832272

TA贡献1966条经验 获得超4个赞

虽然在DataTable填充后您无法更改列的类型FillSchema,但您可以在通话后但在通话之前更改它Fill。例如,假设第三列是你想从转换的一个double来Int32,你可以使用:


adapter.FillSchema(table, SchemaType.Source);

table.Columns[2].DataType = typeof (Int32);

adapter.Fill(table);


查看完整回答
反对 回复 2019-09-20
  • 3 回答
  • 0 关注
  • 2285 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信