C# Can';t从DataReader对象(ADO.Net)分配Char变量

C# Can';t从DataReader对象(ADO.Net)分配Char变量,c#,.net,ado.net,C#,.net,Ado.net,我创建了一个使用ADO.Net的数据访问方法,但是我很难分配一个值。我的阅读器有3个对象,2个字符串和1个字符。问题是当我尝试在下面的代码中将char分配给我的char变量cobType时 using (IDataReader reader = ExecuteReader(cmd, transaction, false)) { if (reader.Read()) { productType = re

我创建了一个使用ADO.Net的数据访问方法,但是我很难分配一个值。我的阅读器有3个对象,2个字符串和1个字符。问题是当我尝试在下面的代码中将char分配给我的char变量cobType时

using (IDataReader reader = ExecuteReader(cmd, transaction, false))
        {
            if (reader.Read())
            {
                productType = reader.GetString(reader.GetOrdinal("Product_Type"));
                cobType = reader.GetChar(reader.GetOrdinal("COB_Type"));
                payNonparProviders = reader.GetString(reader.GetOrdinal("Pay_Nonpar_Providers"));
                return;
            }
        }
当我尝试使用上述方法时,会出现运行时错误:

"Specified method is not supported."

intellisense建议使用GetChar方法,但它似乎不起作用。我还尝试使用GetString方法,但无法将结果强制转换为char变量。

看起来不支持
GetChar
。相反,我使用的是
GetString(ordinal).tocharray()[0]

IDataReaer的类型是什么?是不是
SqlDataReader
?一些自定义读取器?它是System.Data.Common中DbCommand类的DbDataReader。您正在使用Sql Server数据库吗@SergeyBerezovskiy询问您有关SqlDataReader的问题,因为在Sql Server Sql.Data.Client命名空间中没有实现GetChar。请参阅此处的备注,我可以在您的其他链接中使用解决方案,即使用GetString并将其索引到结果中,以便将其分配给我的char变量,谢谢:)