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 | Значение не определено |