如何更改表的字段类型

liduoduo 2011-11-28 06:19:27
private DataTable UpdateDataTable(DataTable argDataTable)
{
DataTable dt = new DataTable();
dt = argDataTable.Clone();
foreach (DataColumn column in dt.Columns)
{
if (column.ColumnName == "ordernum")
{
//修改列类型
column.DataType = typeof(string);
}
}

return dt;
}

通过上述代码可以将表的字段ordernum变更为字符型,但是返回的dt只有结构,数据就没有了,有什么好的办法在更改字段类型后,数据仍然存在?
...全文
89 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
DENQH 2011-11-30
  • 打赏
  • 举报
回复
dt = argDataTable.Clone();
你只是克隆一个结构,怎么会有数据?
阿非 2011-11-30
  • 打赏
  • 举报
回复
Clone 本来就是只复制结构,不复制数据的

要复制数据 用 Copy
DENQH 2011-11-30
  • 打赏
  • 举报
回复
把你原表数据取出,更改数据类型再加到了dt
liduoduo 2011-11-30
  • 打赏
  • 举报
回复
我知道没有数据啊,所以我才问有什么办法更改字段类型后把数据还原进去
yupusong 2011-11-30
  • 打赏
  • 举报
回复
很好的东西,谢谢搂主提供分享
快溜 2011-11-28
  • 打赏
  • 举报
回复
datatable里的确是没必要修改类型,查询的时候可以转换类型。
烟波钓 2011-11-28
  • 打赏
  • 举报
回复
lz有必要这么搞么?你可以获取到数据以后再转化为自己想要的类型啊 在说了 从这个dt中得到的数据都是object的
如果实在想搞 应该是数据库里面的一个属性了

110,566

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧