Как проверить на Нулевое значение в VB.NET

18
задан Peter Mortensen 17 December 2017 в 23:22
поделиться

6 ответов

При использовании набора данных со строгим контролем типов тогда, необходимо сделать это:

If Not ediTransactionRow.Ispay_id1Null Then
    'Do processing here
End If

Вы получаете ошибку, потому что набор данных со строгим контролем типов получает базовое значение и представляет преобразование через свойство. Например, вот по существу, что происходит:

Public Property pay_Id1 Then
   Get
     return DirectCast(me.GetValue("pay_Id1", short)
   End Get
   'Abbreviated for clarity
End Property

метод GetValue возвращает DBNull, который не может быть преобразован в короткое.

8
ответ дан 30 November 2019 в 05:45
поделиться

Эквивалент null в VB Nothing, таким образом, Ваша проверка хочет быть:

If editTransactionRow.pay_id IsNot Nothing Then
    stTransactionPaymentID = editTransactionRow.pay_id
End If

Или возможно, если Вы на самом деле желаете проверить на нулевое значение SQL:

If editTransactionRow.pay_id <> DbNull.Value Then
    ...
End If
37
ответ дан 30 November 2019 в 05:45
поделиться

editTransactionRow.pay_id является Пустым поэтому на самом деле, Вы делаете: пустой указатель. ToString () и это не может быть выполнено. Необходимо проверить editTransactionRow.pay_id и не editTransactionRow.pay_id. ToString ();

Вы кодируете, должен быть (ЕСЛИ pay_id является строкой):

If String.IsNullOrEmpty(editTransactionRow.pay_id) = False Then
    stTransactionPaymentID = editTransactionRow.pay_id 'Check for null value
End If

, Если pay_id является Целое число, чем Вы, может просто проверить, является ли это обычно пустым без Строки... Редактирование, чтобы показать Вам, если это не Строка:

If editTransactionRow.pay_id IsNot Nothing Then
    stTransactionPaymentID = editTransactionRow.pay_id 'Check for null value
End If

, Если это от базы данных, Вы можете использовать IsDBNull, но в противном случае не используете его.

11
ответ дан 30 November 2019 в 05:45
поделиться

Необходимо проверить, чтобы гарантировать, что editTransactionRow не является пустым, и pay_id не является пустым.

1
ответ дан 30 November 2019 в 05:45
поделиться
If Not editTransactionRow.pay_id AndAlso String.IsNullOrEmpty(editTransactionRow.pay_id.ToString()) = False Then
    stTransactionPaymentID = editTransactionRow.pay_id 'Check for null value
End If
0
ответ дан 30 November 2019 в 05:45
поделиться
 If Short.TryParse(editTransactionRow.pay_id, New Short) Then editTransactionRow.pay_id.ToString()
0
ответ дан 30 November 2019 в 05:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: