【问题标题】:DateTimePicker.value will not accept date string I'm passing to it - vb.netDateTimePicker.value 将不接受我传递给它的日期字符串 - vb.net
【发布时间】: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


【解决方案1】:

我的代码更进一步是......

p1date.value = ""

...这是导致问题的原因。

是的,我是个白痴。

【讨论】:

    猜你喜欢
    • 2012-03-07
    • 2017-03-26
    • 1970-01-01
    • 1970-01-01
    • 2013-06-25
    • 2021-03-16
    • 1970-01-01
    • 2013-06-27
    • 1970-01-01
    相关资源
    最近更新 更多