Narayan Shanubhog Ответов: 2

Преобразование из типа 'DBNull' в тип 'Integer' недопустимо.


Я создал таблицу и поля, объявленные как int null, и использовал хранимую процедуру для сохранения записи. при сохранении записи я получил эту ошибку "

Преобразование из типа 'DBNull' в тип 'Integer' недопустимо." Пожалуйста помочь ... спасибо в advnc...

2 Ответов

Рейтинг:
2

Ganesan Natarajan

hi

check ur field value like this

If textbox1.text is DBNull.Value then
   textbox1.text = 0 
End If


Рейтинг:
1

Tom Deketelaere

Где-то в вашем коде сохранения вы сравниваете целое число с переменной.
Эта переменная имеет значение dbnull.

Если это происходит в вашей хранимой процедуре,вы можете использовать метод 'isnull(value, returnvalue)' из TSQL.

Если это в ваших руках .Чистый код вам нужно будет проверить, является ли переменная dbnull (для этого есть функция IsDBNull, которая возвращает логическое значение).
Вы можете написать свою собственную функцию Isnull, если хотите.
Что-то вроде этого:

Public Shared Function IsNull(ByVal controleValue As Object, ByVal returnValue As Object) As Object
        If IsDBNull(controleValue) Or controleValue Is Nothing Then
            Return returnValue
        Else
            Return controleValue
        End If
    End Function