确定SqlReader字段的值类型

时间:2013-10-24 00:00:28

标签: c# sql-server sql-server-2008 .net-4.5

我正在做这样的事情:

if(dataType == "string")
    list.Add((string)reader[column]);
else if (dataType == "date")
    list.Add(DbToDate(reader, column));
else if (dataType == "double")
    list.Add(DbToDouble(reader, column));
else if (dataType == "int")
    list.Add(DbToInt(reader, column));

dataType是传递给方法的字符串。

我想象一个更简单的解决方案:

if(reader[column].Type == "string)
    list.Add((string)reader[column]);
else if .....

基本上Q是 - 我如何向读者询问它给我的数据类型?

1 个答案:

答案 0 :(得分:0)

您可以使用reader.GetFieldType(i).FullName or reader.GetDataTypeName(i),其中i是列索引