SqlDataReader.IsDBNull(Int32) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得值,指出資料行是否含有不存在或遺漏的值。
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
以零為基底的資料行序數。
傳回
若指定的資料行值相當於 DBNull 即為 true
;否則為 false
。
實作
備註
呼叫這個方法,在呼叫具型別的 get 方法之前先檢查 null 數據行值 (,例如 、 GetByteGetChar等) ,以避免引發錯誤。
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
適用於
另請參閱
- DataAdapter 和 DataReader (ADO.NET)
- SQL Server and ADO.NET (SQL Server 和 ADO.NET)
- ADO.NET 概觀 \(部分機器翻譯\)