在DataColumn中将字符串转换为guid

时间:2010-01-05 06:42:50

标签: c# .net datacolumn

如何将设置为类型string的GUID的DataColumn转换为类型为Guid的GUID的DataColumn?源数据中的列具有错误的类型,我无法在那里进行更改。

2 个答案:

答案 0 :(得分:3)

一旦数据表填充了数据,就无法更改列类型。您可以采取一些方法:

  1. 如果您使用DataAdapter填充表格,则可以先使用DataAdapter.FillSchema()获取表格的结构。然后,您可以修改列类型,然后用数据填充它。

  2. 获取初始表并克隆它,更改新表上的列类型,然后使用DataTable.ImportRow()从旧表中导入每一行。

  3. 创建新列,将旧列中的值复制到新列,然后删除旧列。

答案 1 :(得分:1)

您可以在womp的答案中添加以下选项:

  1. 在获得完整数据的表后,您可以通过以下方式将新的DataColumn添加到数据表的列中:

    DataColumn dc = new DataColumn("GUIDColumnName",typeof(Guid),"StringColumnName");
    DataTableObj.Columns.Add(dc);
    
  2. 如果您的数据量很大,这不会有性能损失。