SqlDataReader.IsDBNull(Int32) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Получает значение, указывающее, содержит ли столбец несуществующие или пропущенные значения.
public:
override bool IsDBNull(int i);
public:
virtual bool IsDBNull(int i);
public override bool IsDBNull (int i);
public bool IsDBNull (int i);
override this.IsDBNull : int -> bool
abstract member IsDBNull : int -> bool
override this.IsDBNull : int -> bool
Public Overrides Function IsDBNull (i As Integer) As Boolean
Public Function IsDBNull (i As Integer) As Boolean
Параметры
- 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();
}
}
}
Imports System.Data
Imports System.Data.SqlClient
Module Module1
Sub Main()
Using connection As New SqlConnection("Data Source=(local);Initial Catalog=AdventureWorks2012;Integrated Security=SSPI")
Dim command As 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()
Dim reader As SqlDataReader = command.ExecuteReader()
While reader.Read()
Console.Write(reader.GetString(reader.GetOrdinal("FirstName")))
' display middle name only of not null
If Not reader.IsDBNull(reader.GetOrdinal("MiddleName")) Then
Console.Write(" {0}", reader.GetString(reader.GetOrdinal("MiddleName")))
End If
Console.WriteLine(" {0}", reader.GetString(reader.GetOrdinal("LastName")))
End While
connection.Close()
End Using
End Sub
End Module