Прочитать на английском

Поделиться через


SqlDataReader.IsDBNull(Int32) Метод

Определение

Получает значение, указывающее, содержит ли столбец несуществующие или пропущенные значения.

public override bool IsDBNull(int i);
public bool IsDBNull(int i);

Параметры

i
Int32

Порядковый номер столбца (от нуля).

Возвращаемое значение

true, если значение указанного столбца равно DBNull; в противном случае false.

Реализации

Комментарии

Вызовите этот метод, чтобы проверка значений столбцов NULL перед вызовом типизированных методов get (например, GetByte, GetCharи т. д.), чтобы избежать возникновения ошибки.

using System;
using System.Data;
using System.Data.SqlClient;

class Program {
   static void Main(string[] args) {

      using (var connection = new SqlConnection(@"Data Source=(local);Initial Catalog=AdventureWorks2012;Integrated Security=SSPI")) {
         var command = new SqlCommand("SELECT p.FirstName, p.MiddleName, p.LastName FROM HumanResources.Employee AS e" +
                                 " JOIN Person.Person AS p ON e.BusinessEntityID = p.BusinessEntityID;", connection);
         connection.Open();
         var reader = command.ExecuteReader();
         while (reader.Read()) {
            Console.Write(reader.GetString(reader.GetOrdinal("FirstName")));
            // display middle name only of not null
            if (!reader.IsDBNull(reader.GetOrdinal("MiddleName")))
               Console.Write(" {0}", reader.GetString(reader.GetOrdinal("MiddleName")));
            Console.WriteLine(" {0}", reader.GetString(reader.GetOrdinal("LastName")));
         }
         connection.Close();
      }
   }
}

Применяется к

Продукт Версии
.NET Core 1.0, Core 1.1, 6 (package-provided), 7 (package-provided), 8 (package-provided), 9 (package-provided), 10 (package-provided)
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0 (package-provided)

См. также раздел