我在将数据库中的空日期恢复到vb.net中的datepicker时出现问题。
我能够使用空值保存mysql中的datein,但无法将其检索到datepicker。
我尝试了这段代码,但它不起作用。
If reader.IsDBNull(0) Then
Return
Else
refdate.Text = reader.GetString("refdate")
End If
我的检索代码是
Try
If e.RowIndex >= 0 Then
Dim row As DataGridViewRow
row = Me.DataGridView1.Rows(e.RowIndex)
forid.Text = row.Cells("id").Value.ToString
Try
connection.Open()
Dim sel As String
sel = "select * from recordtracker where id ='" & forid.Text & "'"
com = New MySqlCommand(sel, connection)
reader = com.ExecuteReader
While reader.Read
Cancel.Show()
Clear.Hide()
rdate.Enabled = False
rfromtbx.Enabled = False
doctype.DropDownStyle = ComboBoxStyle.DropDown
ID.Text = reader.GetInt32("id")
doctype.Text = reader.GetString("Type_of_Document")
itemtbx.Text = reader.GetString("Items")
rfromtbx.Text = reader.GetString("Received_From")
rdate.Text = reader.GetString("Received_Date")
remarks.Text = reader.GetString("Remarks")
margnote.Text = reader.GetString("Marginal_Note")
reftotbx.Text = reader.GetString("Referred_To")
acttaken.Text = reader.GetString("Action_Taken")
'refdate.Text = reader.GetString("refdate")
'If reader.Read() Then
If reader.IsDBNull(0) Then
Return
Else
refdate.Text = reader.GetString("refdate")
End If
Delete.Show()
' End If
End While
Catch ex As Exception
MsgBox(ex.Message)
End Try
感谢任何帮助。
答案 0 :(得分:1)
为了将来的使用,这是提问者所需的答案。
reader.IsDBNull(0)
获取索引零的值,我认为refdate
不在第一个索引中。
使用reader.GetString("refdate")
获取String
值;因此,在检索null
值时,它会返回错误,因此最好使用isDbNull(reader("refdate"))
检查字段是否为空。要获取String值,只需使用reader("refdate").toString