Я разрабатываю простую семейную карточную программу vb.net с sqlexpress-базой данных. Я поражен, пожалуйста, помогите: Когда пользователь сохраняет участника, есть два поля 1. Дата рождения, 2. Дата крещения. Он может пропустить оба. Для того чтобы использовать следующую инструкцию:Datagrid не отображает данные из новой формы
If Not IsDate(DOBDatepik.Text) Then
sqlcmd.Parameters.Add("@DOB", SqlDbType.DateTime).Value = DBNull.Value
Else
sqlcmd.Parameters.Add("@DOB", SqlDbType.DateTime).Value = DOBDatepik.Value
End If
это работает. Теперь я создаю новую форму с Datagrid для поиска семейств. Вот один оператор, когда пользователь дважды кликает по любой ячейке, новая форма будет отображать текущую запись. Для этого я использую следующий оператор:
Я не скопировал весь текст. Это только для осветления
Private Sub familyGridView_CellDoubleClick(sender As Object, e As DataGridViewCellEventArgs) Handles familyGridView.CellDoubleClick
Dim int As Integer = Me.familyGridView.CurrentCell.RowIndex
FamilyDetails.DOBDatepik.Value = Me.familyGridView.Item(6, int).Value
FamilyDetails.baptismDatepik.Value = Me.familyGridView.Item(12, int).Value
FamilyDetails.Show()
End Sub
это работает, но где есть нулевая дата, он дает следующую ошибку
Conversion from type 'DBNull' to type 'Date' is not valid.
Так что, пожалуйста, помогите мне решить эту проблему. Null Date не переходит от DataGrid к новой форме, а изображение, которое в виде двоичных данных в таблице также дает ошибку при отправке в новую форму.
Не задавайте 2 вопроса в одном сообщении. Если у кого-то есть только время на один ответ, вы теряете. Вам нужно проверить для DBNull, учитывая, что даты могут быть пустыми. Также вы должны использовать параметры события, а не 'CurrentRow/CurrentCell' – Plutonix
Прошу прощения за это .... но DBNULL не ясен и как использовать параметры события .. пожалуйста, объясните .... если дать код будет лучше –