如何将设置为类型string
的GUID的DataColumn转换为类型为Guid
的GUID的DataColumn?源数据中的列具有错误的类型,我无法在那里进行更改。
答案 0 :(得分:3)
一旦数据表填充了数据,就无法更改列类型。您可以采取一些方法:
如果您使用DataAdapter
填充表格,则可以先使用DataAdapter.FillSchema()
获取表格的结构。然后,您可以修改列类型,然后用数据填充它。
获取初始表并克隆它,更改新表上的列类型,然后使用DataTable.ImportRow()
从旧表中导入每一行。
创建新列,将旧列中的值复制到新列,然后删除旧列。
答案 1 :(得分:1)
您可以在womp的答案中添加以下选项:
在获得完整数据的表后,您可以通过以下方式将新的DataColumn添加到数据表的列中:
DataColumn dc = new DataColumn("GUIDColumnName",typeof(Guid),"StringColumnName");
DataTableObj.Columns.Add(dc);
如果您的数据量很大,这不会有性能损失。