从数据库检索null日期到vb.net

时间:2015-06-01 04:54:21

标签: mysql vb.net datepicker

我在将数据库中的空日期恢复到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

感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

为了将来的使用,这是提问者所需的答案。

reader.IsDBNull(0)获取索引零的值,我认为refdate不在第一个索引中。

使用reader.GetString("refdate")获取String值;因此,在检索null值时,它会返回错误,因此最好使用isDbNull(reader("refdate"))检查字段是否为空。要获取String值,只需使用reader("refdate").toString

即可