Database 显示从日期/时间(Access)到日期时间选择器(Windows窗体)的数据

Database 显示从日期/时间(Access)到日期时间选择器(Windows窗体)的数据,database,vb.net,ms-access,datetimepicker,Database,Vb.net,Ms Access,Datetimepicker,我需要一些帮助。是否有任何方法可以使用VB显示从Access到窗体的数据。特别是从日期/时间(访问)到日期时间选择器(Windows窗体) Access中日期的数据类型和格式为: 数据类型=日期/时间 格式=短日期 我的代码:proddate\u tb.Text=ds.Tables(“MasterMB4”).Rows(i).Item(“proddate”).ToString() 但是它提示了下面的错误。首先,我建议添加一些断点,并在代码运行时检查一些值,看看是否可以找到出错的地方。甚至可能是数据

我需要一些帮助。是否有任何方法可以使用VB显示从Access到窗体的数据。特别是从日期/时间(访问)到日期时间选择器(Windows窗体)

Access中日期的数据类型和格式为:

数据类型=日期/时间

格式=短日期

我的代码:
proddate\u tb.Text=ds.Tables(“MasterMB4”).Rows(i).Item(“proddate”).ToString()


但是它提示了下面的错误。

首先,我建议添加一些断点,并在代码运行时检查一些值,看看是否可以找到出错的地方。甚至可能是数据库中的值为NULL

迟早我们都要学会调试,不妨早点开始

其次,确保数据库查询中返回的行数不少于循环运行的次数。我猜您正在运行基于代码的循环:

ds.Tables("MasterMB4").Rows(i).Item("ProdDate")
我总是这样做:

 Dim row_count As Integer = ds.Tables("Table_Name").Rows.Count - 1

    If Not row_count < 0 Then

       For i = 0 To row_count

            If IsDBNull(ds.Tables("MasterMB4").Rows(i).Item("ProdDate"))Then
                  proddate_tb.Value = Date.Now

            Else
                  proddate_tb.Value = Cdate(ds.Tables("MasterMB4").Rows(i).Item("ProdDate"))

            End If
       Next

    End If

现在我可以从访问DateTimePicker(表单)中提示值。下面是我的代码,如果需要改进,请随时指出

If DBNull.Value.Equals(ds2.Tables("MasterMB4").Rows(i).Item("ProdDate")) Then
     proddate_tb.Text = Date.Now
Else
     proddate_tb.Text = ds2.Tables("MasterMB4").Rows(i).Item("ProdDate")
End If
我不确定声明不同的ds(数据集)是否会对编码产生很大影响,因为之前我在同一个Windows窗体下的另一个私有Sub中使用ds(数据集),之后我使用了不同的ds(数据集),即ds2、if…ELSE语句和
DBNull.Value.Equals
,来自Access的DateTime现在可以在表单中提示DateTimePicker


在阅读了《白狼》和《白狼》的答案后,我可以这样做。

谢谢你的建议。我可以利用你的一些建议来解决我的问题。@AlexB。谢谢你的评论。基于链接,我能够更多地了解我的问题。
If DBNull.Value.Equals(ds2.Tables("MasterMB4").Rows(i).Item("ProdDate")) Then
     proddate_tb.Text = Date.Now
Else
     proddate_tb.Text = ds2.Tables("MasterMB4").Rows(i).Item("ProdDate")
End If