IsDBNull
Метод проверяет указанное поле текущей строки выборки данных на null-значение.
Примечание
Метод используется для исключения ошибки при запросе значений (с помощью метода GetByte, GetInt32 и т.п.) полей выборки данных.
Синтаксис
public abstract bool IsDBNull(int ordinal);
ordinal – порядковый номер поля в текущей строке выборки данных (отсчет начинается с 0).
Возвращаемое значение
Значение типа System.Bolean:
-
true – проверяемое значение является null-значением;
-
false – в противном случае.
Исключения
IndexOutOfRangeException
| Задан порядковый номер несуществующего столбца. | |
InvalidOperationException
| Не установлена текущая строка выборки данных (необходимо выполнить метод Read()). |
Пример
// C#
using System;
using System.Data;
using System.Data.Common;
class IsDBNull
{
static void Main()
{
// Создание фабрики классов провайдера
DbProviderFactory factory =
DbProviderFactories.GetFactory("System.Data.LinterClient");
// Соединение с БД
DbConnection con = factory.CreateConnection();
con.ConnectionString =
"Data Source=LOCAL;User ID=SYSTEM;Password=MANAGER8";
con.Open();
// Создание объекта DbCommand
DbCommand cmd = factory.CreateCommand();
cmd.Connection = con;
// Формирование текста SQL-запроса
cmd.CommandText = "Select sysdate, null";
// Выполнение SQL-запроса
DbDataReader reader = cmd.ExecuteReader();
// Обработка результатов запроса
object value;
while (reader.Read())
{
for (int i = 0; i < reader.FieldCount; i++)
{
if (!reader.IsDBNull(i))
{
value = reader.GetValue(i);
}
else
{
value = "Значение не определено";
}
Console.Write(value + " | ");
}
Console.WriteLine();
}
// Освобождение ресурсов
reader.Dispose();
cmd.Dispose();
con.Dispose();
}
}
Результат выполнения примера:
06.09.2012 13:28:23 | Значение не определено |