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


SqlDataReader.IsDBNull(Int32) Метод

Определение

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

public:
 override bool IsDBNull(int i);
public override bool IsDBNull (int i);
override this.IsDBNull : int -> bool
Public Overrides Function IsDBNull (i As Integer) As Boolean

Параметры

i
Int32

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

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

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

Реализации

Комментарии

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

using Microsoft.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();
        }
    }
}

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