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