异常详细信息: System.NotSupportedException: 不支持所指定的方法。
改用:IDataReader.GetString(索引号)[0]
或则 char.Parse(reader.GetString(索引号));
但是具体原因是什么了
我们来看看:
在DbDataReader 类中有如下代码:
public abstract class DbDataReader : MarshalByRefObject, IDataReader, IDisposable, IDataRecord, IEnumerable
{
// Methods
protected DbDataReader();
public abstract char GetChar(int ordinal);
}
public class SqlDataReader : DbDataReader, IDataReader, IDisposable, IDataRecord
{
[EditorBrowsable(EditorBrowsableState.Never)]
public override char GetChar(int i)
{
throw ADP.NotSupported();
}
}
同理OleDbDataReader的代码如下:
public sealed class OleDbDataReader : DbDataReader
{
[EditorBrowsable(EditorBrowsableState.Never)]
public override char GetChar(int ordinal)
{
throw ADP.NotSupported();
}
}
本文探讨了在使用SQL Server和OleDbDataReader时,遇到的不支持GetChar方法的问题,并提供了替代方案:使用GetString方法配合char.Parse进行字符获取。解释了此类问题的原因及解决策略。
3663

被折叠的 条评论
为什么被折叠?



