C# 确定SqlReader字段值的类型
我正在做这样的事情:C# 确定SqlReader字段值的类型,c#,sql-server,sql-server-2008,.net-4.5,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") li
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));
if(reader[column].Type == "string)
list.Add((string)reader[column]);
else if .....
数据类型是传递给方法的字符串。
我正在想象一个更简单的解决方案,比如:
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));
if(reader[column].Type == "string)
list.Add((string)reader[column]);
else if .....
基本上,Q是-我如何询问读者它给了我什么数据类型?您可以使用
reader.GetFieldType(I).FullName或reader.GetDataTypeName(I)
其中I是列索引