Существует разница между NULL базы данных и null .NET (* VB Ничего при применении к ссылочным типам).
string.IsNullOrEmpty ищет значение .NET, а не NULL базы данных. Таким образом, нет необходимости проверять на ноль - только NULL / DBNull
Если вы сохраните NULL базы данных или ноль .NET в DataTable, вы получите DBNull.
AppendLine (объект) вызова объекта. ToString ()
DBNull.Value.ToString () возвращает ""
Учитывая всю эту информацию, ваш код может быть упрощен до:
sbAddress.Append(dr.HOUSENUMBER)
If Not dr.IsHOUSENUMBERNull AndAlso dr.HOUSENUMBER.Length <> 0 Then
sbAddress.Append(" ")
End If
sbAddress.AppendLine(dr.ADDRESS1)