Есть ли способ определить в .NET для любого произвольного набора результатов SQL Server, может ли данный столбец в результате содержать нули?
Например, если у меня есть операторы
Select NullableColumn From MyTable
и
Select IsNull(NullableColumn, '5') as NotNullColumn From MyTable
, и я получаю такой носитель данных:
var cmd = new SqlCommand(statement, connection);
var rdr = cmd.ExecuteReader();
, могу ли я иметь такую функцию?
bool ColumnMayHaveNullData(SqlDataReader rdr, int ordinal)
{
//????
}
Я хочу вернуть истину для первого утверждения, и false для второго оператора.
rdr.GetSchemaTable ()
не работает для этого, потому что он возвращает, может ли нижележащий столбец быть нулевым, что я не хочу. В datareader есть функции, которые возвращают базовый sql-тип поля, но, похоже, ни одна из них не сообщает мне, может ли оно быть нулевым ..