영어로 읽기

다음을 통해 공유


Convert.IsDBNull(Object) 메서드

정의

지정된 개체의 형식이 DBNull인지를 나타내는 값을 반환합니다.

public static bool IsDBNull(object? value);
public static bool IsDBNull(object value);

매개 변수

value
Object

개체입니다.

반환

true의 형식이 value이면 DBNull이고, 그렇지 않으면 false입니다.

예제

다음 예제에서는 개체를 SqlDataReader 사용하여 데이터베이스에서 설문 조사 데이터를 검색합니다. 각 행의 필드 값을 배열에 할당한 다음 각 배열 요소를 메서드에 IsDBNull 전달합니다. 메서드가 를 반환 true하는 경우 예제에서는 배열 요소에 문자열 "NA"를 할당합니다. 그런 다음 배열이 컨트롤의 컬렉션에 Rows 추가됩니다 System.Windows.Forms.DataGridView .

private void Form1_Load(object sender, EventArgs e)
{
   // Define ADO.NET objects.
   SqlConnection conn = new SqlConnection(connectionString);
   SqlCommand cmd = new SqlCommand();
   SqlDataReader dr;

   // Open connection, and retrieve dataset.
   conn.Open();

   // Define Command object.
   cmd.CommandText = "Select * From Responses";
   cmd.CommandType = CommandType.Text;
   cmd.Connection = conn;

   // Retrieve data reader.
   dr = cmd.ExecuteReader();

   int fieldCount = dr.FieldCount;
   object[] fieldValues = new object[fieldCount];
   string[] headers = new string[fieldCount];

   // Get names of fields.
   for (int ctr = 0; ctr < fieldCount; ctr++)
      headers[ctr] = dr.GetName(ctr);

   // Set up data grid.
   this.grid.ColumnCount = fieldCount;

   this.grid.ColumnHeadersDefaultCellStyle.BackColor = Color.Navy;
   this.grid.ColumnHeadersDefaultCellStyle.ForeColor = Color.White;
   this.grid.ColumnHeadersDefaultCellStyle.Font = new Font(this.grid.Font, FontStyle.Bold);

   this.grid.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.DisplayedCellsExceptHeaders;
   this.grid.ColumnHeadersBorderStyle = DataGridViewHeaderBorderStyle.Single;
   this.grid.CellBorderStyle = DataGridViewCellBorderStyle.Single;
   this.grid.GridColor = Color.Black;
   this.grid.RowHeadersVisible = true;

   for (int columnNumber = 0; columnNumber < headers.Length;  columnNumber++)
      this.grid.Columns[columnNumber].Name = headers[columnNumber];

   // Get data, replace missing values with "NA", and display it.
   while (dr.Read())
   {
      dr.GetValues(fieldValues);

      for (int fieldCounter = 0; fieldCounter < fieldCount; fieldCounter++)
      {
         if (Convert.IsDBNull(fieldValues[fieldCounter]))
            fieldValues[fieldCounter] = "NA";
      }
      grid.Rows.Add(fieldValues);
   }
   dr.Close();
}

설명

메서드는 IsDBNull 매개 변수가 과 value 같은지 여부를 테스트합니다 DBNull.Value. 다음 코드와 동일합니다.

return DBNull.Value.Equals(value);

참고

DBNull.Value 는 누락된 값을 나타내는 데 사용됩니다. 또는 String.Empty과 동일 null 하지 않습니다. 따라서 C# 또는 Convert.IsDBNull(Nothing) Visual Basic의 와 같은 Convert.IsDBNull(null) 코드는 를 반환합니다false.

적용 대상

제품 버전
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.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, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

추가 정보