我正在用sqlexpress數據庫開發一個簡單的家庭卡vb.net應用程序。我感到震驚,請幫助: 當用戶保存成員時,有兩個字段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.
所以,請幫我解決這個問題。空日期不是從DataGrid傳遞到新的表單,並且在表中作爲二進制數據的圖像在發送到新表單時也發生錯誤。
不要在一個帖子中提出2個問題。如果某人只有時間回答一個問題,你就會鬆懈。您需要測試DBNull給定日期可以爲空。你也應該使用事件參數,而不是'CurrentRow/CurrentCell' – Plutonix
對不起,我......但是DBNULL不清楚以及如何使用事件參數..請解釋....如果給出的代碼會更好 –