IDataReader.GetChar
异常详细信息: 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);
}
在SqlDataReader的实现方式如下:
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();
}
}