SqlDataReader.IsDBNull(Int32) 메서드

정의

열의 값이 존재하지 않거나 누락되었는지 여부를 나타내는 값을 가져옵니다.Gets a value that indicates whether the column contains non-existent or missing values.

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

매개 변수

i
Int32

열 서수(0부터 시작)입니다.The zero-based column ordinal.

반환

지정된 열 값이 DBNull과 같으면 true이고, 그렇지 않으면 false입니다.true if the specified column value is equivalent to DBNull; otherwise false.

구현

설명

오류가 발생 하지 않도록 형식화 된 get 메서드 (예: GetByte, GetChar등)를 호출 하기 전에 null 열 값을 확인 하려면이 메서드를 호출 합니다.Call this method to check for null column values before calling the typed get methods (for example, GetByte, GetChar, and so on) to avoid raising an error.

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

적용 대상

추가 정보