如何使用C#.Net更改已有数据的DataTable的列数据类型?

问题描述:

我有两个数据表具有以下行。如何使用C#.Net更改已有数据的DataTable的列数据类型?

表A:

TaxID    TaxName 
------    -------- 
    1     VAT 
    2     Sales Tax 

表B:

TaxID    TaxName 
-----    -------- 
    1A     ED 
    2A     Discount 

在表A中:该列的数据类型TaxID是字符串:用于列TaxID是INT 在表B中的数据类型。

现在我想合并这两个表。 我试过像这样:
TableA.Merge(TableB); 但它给错误。 如何实现这一目标?

+0

请提及的问题的错误 – PresleyDias 2012-01-03 10:24:50

+1

更改列的数据类型表A为varchar匹配一个表B,然后将正确的合并.. – VS1 2012-01-03 10:25:30

+0

是'1A '='1'同样的记录,所以'ED'是否应该替换'VAT'?合并后TaxID应该是一个int还是一个varchar列? – 2012-01-03 10:34:46

在Datatable填充数据后,您无法更改DataColumn的DataType。因此,在填充之前,您应该使用SQL将其转换为适当的类型(varchar)。

例如:

SELECT CAST(TaxID as varchar(5))AS TaxID, TaxName FROM TableA