영어로 읽기

다음을 통해 공유


SqlDataReader.IsDBNull(Int32) 메서드

정의

열의 값이 존재하지 않거나 누락되었는지 여부를 나타내는 값을 가져옵니다.

public override bool IsDBNull (int i);
public bool IsDBNull (int i);

매개 변수

i
Int32

열 서수(0부터 시작)입니다.

반환

지정된 열 값이 DBNull와(과) 같으면 true이고, 그렇지 않으면 false입니다.

구현

설명

오류가 발생하지 않도록 형식화된 get 메서드(예GetByte: , GetChar등)를 호출하기 전에 null 열 값에 대해 검사 이 메서드를 호출합니다.

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

적용 대상

제품 버전
.NET Core 1.0, Core 1.1, 6 (package-provided), 7 (package-provided), 8 (package-provided), 9 (package-provided)
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7 (package-provided), 4.7, 4.7.1 (package-provided), 4.7.1, 4.7.2 (package-provided), 4.7.2, 4.8 (package-provided), 4.8, 4.8.1
.NET Standard 2.0 (package-provided)

추가 정보