【发布时间】:2018-05-16 09:28:21
【问题描述】:
在我的一个表格中,我列出了一系列服务和相应的日期。 基本上有一个服务列表,每个服务旁边都有一个复选框,复选框旁边有一个日期时间选择器。如果选中该复选框,则 datetimepicker 是可见的,并且日期设置为该服务的约定结束日期,否则它是隐藏的 (visible=false)。
我从 mysql 中读取此表单的数据并将其粘贴到这样的 DataTable 中...
Dim adapter As MySqlDataAdapter
Dim productresultstable As DataTable
cn.ConnectionString = main.myconnectionstr
Dim commandtext As String
commandtext = "Select * from products where link_id = '" & customerid & "'"
adapter = New MySqlDataAdapter(commandtext, cn)
productresultstable = New DataTable
adapter.Fill(productresultstable)
然后我相应地对其进行排序,选中相关的复选框并设置日期时间选择器。
p1.Checked = productresultstable.Rows(0)("p1").ToString()
If p1.Checked = True Then
p1date.Visible = True
p1date.Value = Date.Parse(productresultstable.Rows(0)("1_ce").ToString)
End If
所有正确的复选框都被选中;那工作正常。 但是日期时间选择器的日期都是今天的日期。
我知道 productresultstable.Rows(0)("1_ce").ToString 正在拉入一个日期(1_ce 是 mysql 中类型为 'Date' 的列),因为如果我添加一个消息框所以将它显示到屏幕上,它显示“19/04/2018 00:00:00”...
但是无论我怎么尝试,我似乎都无法获得相应的 DateTimePicker 的值来显示这个值。
谁能指出我正确的方向? 任何帮助都会得到帮助!
【问题讨论】:
-
你为什么要传递一个日期字符串呢?
Value属性是DateTime类型,而不是String类型。为其分配DateTime值,而不是String对象。 -
嗯,这就是我使用 date.parse 的原因......但我也尝试过在没有 date.parse 和 date.parse 的情况下直接给它最后没有 '.tostring' 的值也试过 cdate() ......没有任何区别。
-
您是否真正调试过代码,即设置断点并单步执行代码?那条线被击中了吗,那条线成功了吗?如果您对这两个问题的回答都是“是”,那么代码就可以正常工作。在这种情况下,问题出在其他地方,因此根据您提供的信息,我们无法提供帮助。
-
我有并且没有抛出错误。但是,我发现了问题-当您指出这一点时,我进行了更多测试,如果我使用新的 datetimepicker,它可以正常工作。在我的函数开始时,有一个 p1date.value = "" ... 导致了问题。
标签: mysql string vb.net date datetimepicker