日期:2014-05-19  浏览次数:20850 次

修改 datatable 列 类型
readxml得到的一个datatable后,列都是string类型的,我有什么办法让列是我想要的型呢??比如int或datetime
构好datatable再readxml是可以的,可是好麻烦,因为列太多了!
写for又太耗内存了!
还请支招!

------解决方案--------------------
1)需要类型化的XML支持,你可以google一下
2)可以用foreach一下,在foreach里要手动控制对象的生存时间
比如foreach(DataRow dr in datatable.rows)
{
using( "这里放上你用到的对象,你可以看看msdn上using的用法 ")
{
}
}
------解决方案--------------------
你可以先new一个你想要的datetime的datacloum
然后加到datatable中,然后把string这个你不想要的cloum删除
------解决方案--------------------
DataTable table = new DataTable( "table ");
table.Columns.Add( "tag ", typeof(DateTime));
table.Columns.Add( "sum ", typeof(Int32));

ds.ReadXml( "c:data.xml ");
foreach (DataRow r in ds.Tables[0].Rows)
allChannel.ImportRow(r);