将 DateTimePicker 时间格式值设置为从数据库 VB.NET 返回的值
Posted
技术标签:
【中文标题】将 DateTimePicker 时间格式值设置为从数据库 VB.NET 返回的值【英文标题】:Set DateTimePicker time format value to value returned from database VB.NET 【发布时间】:2021-03-01 05:38:45 【问题描述】:不胜感激以下方面的帮助。
我正在使用 VB.NET 和 SQL Server。
我有一个带有 datagridview 的表单,当用户单击 datagridview 上的某一行(标题行)时,表单会在文本框、组合框和日期时间选择器中显示标题的详细信息,从而允许用户编辑详细信息值和保存回数据库。
我无法将保存在数据库中的时间返回给 datetimepickers,它们默认为当前系统时间并且不返回数据库中保存的时间:
我使用的 datetimepicker 格式设置为“时间”,因此实际日期无关紧要,只有时间。
我在 Datagridview_CellContentClick 事件中尝试了以下操作:
Dim dr As DataRowView = GetStoreMasterBindingSource.Current
WeekStartTimeDateTimePicker.Text = dr.Item("WeekStartTime").Value
但是在运行时出现以下错误:
未找到类型“时间跨度”的公共成员“值”。
我还尝试了以下方法:
Dim dr As DataRowView = GetStoreMasterBindingSource.Current
WeekStartTimeDateTimePicker.Value = New DateTime(DateTime.Now.Year, DateTime.Now.Month,
DateTime.Now.Day, dr.Item("WeekStartTime").hour,
dr.Item("WeekStartTime").minute,
dr.Item("WeekStartTime").second)
但是在运行时出现以下错误:
未找到类型“时间跨度”的公共成员“小时”。
此列的我的 SQL 数据类型是 TIME
。
请帮我把我的datatimepicker的时间值设置为数据库返回的值?
【问题讨论】:
你应该在你的项目属性和VS选项中打开Option Strict On
,所以以后的项目默认是On
。
【参考方案1】:
Dim currentRow = DirectCast(GetStoreMasterBindingSource.Current, DataRowView)
WeekStartTimeDateTimePicker.Value = Date.Today + DirectCast(currentRow("WeekStartTime"), TimeSpan)
【讨论】:
以上是关于将 DateTimePicker 时间格式值设置为从数据库 VB.NET 返回的值的主要内容,如果未能解决你的问题,请参考以下文章
使用 PHP 日期时间值设置 datetimepicker 默认值
根据下拉列表中选择的值设置 datetimepicker 格式
如何将winforms datetimepicker设置为没有默认值?