@@ -91,8 +91,8 @@ public long GetBytes(int ordinal, long dataOffset, byte[] buffer, int bufferOffs
91
91
var column = ResultSet . ColumnDefinitions [ ordinal ] ;
92
92
var columnType = column . ColumnType ;
93
93
if ( ( column . ColumnFlags & ColumnFlags . Binary ) == 0 ||
94
- ( columnType != ColumnType . String && columnType != ColumnType . VarString && columnType != ColumnType . TinyBlob &&
95
- columnType != ColumnType . Blob && columnType != ColumnType . MediumBlob && columnType != ColumnType . LongBlob ) )
94
+ ( columnType != ColumnType . String && columnType != ColumnType . VarString && columnType != ColumnType . TinyBlob &&
95
+ columnType != ColumnType . Blob && columnType != ColumnType . MediumBlob && columnType != ColumnType . LongBlob ) )
96
96
{
97
97
throw new InvalidCastException ( "Can't convert {0} to bytes." . FormatInvariant ( columnType ) ) ;
98
98
}
@@ -128,12 +128,14 @@ public Guid GetGuid(int ordinal)
128
128
if ( value is byte [ ] bytes && bytes . Length == 16 )
129
129
return new Guid ( bytes ) ;
130
130
131
+ if ( m_dataOffsets [ ordinal ] == - 1 )
132
+ throw new InvalidCastException ( "Column is NULL." ) ;
131
133
throw new MySqlException ( "The value could not be converted to a GUID: {0}" . FormatInvariant ( value ) ) ;
132
134
}
133
135
134
136
public short GetInt16 ( int ordinal )
135
137
{
136
- object value = GetValue ( ordinal ) ;
138
+ var value = GetValue ( ordinal ) ;
137
139
if ( value is short )
138
140
return ( short ) value ;
139
141
@@ -158,7 +160,7 @@ public short GetInt16(int ordinal)
158
160
159
161
public int GetInt32 ( int ordinal )
160
162
{
161
- object value = GetValue ( ordinal ) ;
163
+ var value = GetValue ( ordinal ) ;
162
164
if ( value is int )
163
165
return ( int ) value ;
164
166
@@ -183,7 +185,7 @@ public int GetInt32(int ordinal)
183
185
184
186
public long GetInt64 ( int ordinal )
185
187
{
186
- object value = GetValue ( ordinal ) ;
188
+ var value = GetValue ( ordinal ) ;
187
189
if ( value is long )
188
190
return ( long ) value ;
189
191
@@ -216,7 +218,7 @@ public long GetInt64(int ordinal)
216
218
217
219
public double GetDouble ( int ordinal )
218
220
{
219
- object value = GetValue ( ordinal ) ;
221
+ var value = GetValue ( ordinal ) ;
220
222
return value is float floatValue ? floatValue : ( double ) value ;
221
223
}
222
224
0 commit comments