2016-04-22 81 views
-2

我知道如何做到這一點,但我想知道最佳實踐...如何檢查字段爲空

我去從表中獲取一行數據。其中一些字段可以是NULL。我正在爲每個字段使用if語句,如果它不是NULL,則根據需要填充文本框或標籤。

這對我來說似乎很麻煩,但我想不出一個更好的方法來檢查空值並採取相應的行動。

這是否有意義?有沒有更好的辦法?

+0

@KhairulIslam OP是要求VB.NET的解決方案,這將是[IF()](http://stackoverflow.com/a/403453/1115360)運算符。 –

+1

您應該向我們展示數據庫查詢和適當的VB.NET代碼(的示例)。 –

回答

0

由於vb.net 14最好的方法是使用?

使用Visual Basic 14你可以優雅地處理 空這樣的可能性,使用新的?運營商:

Console.WriteLine("{0} ({1})", 
    customer.Name, 
    customer.Address?.Country) 

Link to vb.net article.

Link to c# article.

0

如果您正在使用一個SqlDataReader來處理一個SqlCommand,那麼你可以檢查SqlDataReader.IsDBNull財產。下面是一個真實的例子:

Try 
     Using con = New SqlConnection(dbConnectString) 
      Using cmd = New SqlCommand("usp_GetValue", con) 
       cmd.Parameters.Add("@nvcKey", SqlDbType.VarChar).Size = key.Length 
       cmd.Parameters("@nvcKey").Value = key 
       con.Open() 
       Using reader As SqlDataReader = cmd.ExecuteReader() 
        If reader.Read() Then 
         If Not reader.IsDBNull(1) Then ExpriryDateUTC = reader.GetDateTime(1) 
         AllowMemoryCache = reader.GetBoolean(2) 
         If reader.IsDBNull(0) Then 
          value = Nothing 
          Return False 
         Else 
          value = DeserializeDataContractOjectFromXML(Of T)(reader.GetString(0)) 
          Return True 
         End If 
        Else 
         Return False 
        End If 
       End Using 
      End Using 
     End Using 
    Catch ex As Exception 
     Return False 
    End Try