2016-04-22 4 views
-2

Я знаю, как это сделать, но мне интересно узнать о лучших практиках ...Как проверить поля на нуль

Я иду, получаю строку данных из таблицы. Некоторые из этих полей могут быть NULL. В настоящее время я использую оператор if для каждого поля, и если он НЕ НУЛЛ, заполняйте текстовые поля или метки соответствующим образом.

Это кажется громоздким для меня, но я не мог придумать лучшего метода проверки нулей и действий соответственно.

Имеет ли это смысл? Есть ли способ лучше?

+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 
Смежные вопросы