/// <summary> /// Retrieves a column as an array of chars (blob) /// </summary> /// <param name="i">The index of the column to retrieve</param> /// <param name="fieldoffset">The zero-based index of where to begin reading the data</param> /// <param name="buffer">The buffer to write the characters into</param> /// <param name="bufferoffset">The zero-based index of where to begin writing into the array</param> /// <param name="length">The number of bytes to retrieve</param> /// <returns>The actual number of characters written into the array</returns> /// <remarks> /// To determine the number of characters in the column, pass a null value for the buffer. The total length will be returned. /// </remarks> public override long GetChars(int i, long fieldoffset, char[] buffer, int bufferoffset, int length) { if (i >= VisibleFieldCount && _keyInfo != null) { return(_keyInfo.GetChars(i - VisibleFieldCount, fieldoffset, buffer, bufferoffset, length)); } VerifyType(i, DbType.String); return(_activeStatement._sql.GetChars(_activeStatement, i, (int)fieldoffset, buffer, bufferoffset, length)); }