/// <summary> /// 获取指定对应字段的值。 /// </summary> /// <param name="index">从0开始的索引,小于0或超出有效值时,则为空。</param> /// <returns>返回索引顺序对应字段的值,若字段不存在,则为空。</returns> public override object GetValue(int index) { if (index < 0 || index > FieldCount - 1) { return(null); } object value = DataReader?.GetValue(index); if (IsNullValue(value)) { return(null); } string dataTypeName = GetDataTypeName(index); if (string.Equals(dataTypeName, "char(1)", StringComparison.OrdinalIgnoreCase) || string.Equals(dataTypeName, "nchar(1)", StringComparison.OrdinalIgnoreCase)) { value = _dataReader.GetChar(index); } else if (GetType(index) == typeof(byte[]) && string.Equals(dataTypeName, "timestamp", System.StringComparison.OrdinalIgnoreCase)) { byte[] buffer = (byte[])value; System.Array.Reverse(buffer); } return(value); }
public char GetChar(int i) { return(_innerReader.GetChar(i)); }