Member 14359717 Ответов: 1

Как исправить преобразование из типа 'БД значение null в String не является допустимым


я пытаюсь сделать событие щелчка DataGridView щелчком мыши всякий раз, когда курсор нажимает на данные, которые он будет показывать в текстовом поле с теми же данными

Что я уже пробовал:

Private Sub dgv_CellMouseClick(sender As System.Object, e As System.Windows.Forms.DataGridViewCellMouseEventArgs) Handles dgv.CellMouseClick
        tb_nip.Text = dgv.Rows(e.RowIndex).Cells(0).Value
        tb_nk.Text = dgv.Rows(e.RowIndex).Cells(1).Value
        tb_tm.Text = dgv.Rows(e.RowIndex).Cells(2).Value
        tb_prsn.Text = dgv.Rows(e.RowIndex).Cells(3).Value
    End Sub

Member 14359717

проблема заключается в tb_prsn.Текст = dgv.Строк(электронная.Параметр rowindex).Ячейки(3).Значение

CHill60

Попробуй

tb_prsn.Text = Convert.ToString(dgv.Rows(e.RowIndex).Cells(3).Value)
может быть? Или проверьте наличие нулевого значения и установите текстовое поле пустым?

Member 14359717

это работает, чувак! большое вам спасибо :)

1 Ответов

Рейтинг:
12

OriginalGriff

Проблема проста: ваша база данных содержит столбец, который может содержать - и содержит - нулевые значения, а ваш код этого не допускает.
Первое, что нужно сделать, это решить, является ли ваша БД правильной, или это - и правила, регулирующие ее - должны быть изменены.
Итак, начните думать о колонке - какие данные она должна содержать? Что это "значит", когда оно равно нулю? Что должно делать ваше приложение с нулевыми данными? Или вы должны с самого начала предотвращать попадание нулей в вашу БД?

Если значения null допустимы, то вам нужно решить, следует ли их публиковать в вашем приложении - потому что нулевая строка совершенно допустима, но отличается от пустой строки и должна быть проверена и обработана в вашем приложении.

Если это не так, то вам нужно выяснить, как они туда попали, и заменить их фактическими данными...

Когда вы решите, что много, вы можете начать реализацию "исправить" для вашей проблемы, но не до тех пор!


Member 14359717

спасибо это очень помогает