Mysql datetime到DateTimePicker VB.Net的长格式,反之亦然

Mysql datetime到DateTimePicker VB.Net的长格式,反之亦然,mysql,database,vb.net,date,windows-forms-designer,Mysql,Database,Vb.net,Date,Windows Forms Designer,甚至可以将DateTimePicker(长格式)的值保存到datetime(数据库)中。然后执行从datetime(datebase)设置为DateTimePicker的相反操作。我们有更简单的代码吗 我正在VB.NETWindows窗体中使用MySQL 下面是我在vb.net中的代码: '" & date1.Value.ToString("yyyy-MM-dd") & " " & date1_time.Value.ToString("hh:mm:ss") & "

甚至可以将DateTimePicker(长格式)的值保存到datetime(数据库)中。然后执行从datetime(datebase)设置为DateTimePicker的相反操作。我们有更简单的代码吗

我正在VB.NETWindows窗体中使用MySQL

下面是我在vb.net中的代码:

'" & date1.Value.ToString("yyyy-MM-dd") & " " & date1_time.Value.ToString("hh:mm:ss") & "." & Now.Millisecond & "'
在MySQL中:
date1 datetime

假设您谈论的是一个Windows窗体
日期时间选择器
,那么没有什么可做的。控件的
格式
自定义格式
属性仅确定数据的显示方式。
Value
属性仍然是类型
DateTime
,并且没有格式。这只是一个数字。当您保存到数据库时,您保存了该
DateTime
值,并且它也以其本机日期/时间数据类型存储在数据库中,或者至少应该以本机日期/时间数据类型存储在数据库中,因此格式也不是问题。在MySQL中,对于没有时间部分的日期,通常应该使用
DATE
数据类型;对于同时包含日期和时间的值,通常应该使用
DATETIME
。在整个过程中,任何时候都不应该自己将值转换为文本。该部分由
DateTimePicker
控件处理

如果您在数据库中使用的数据类型听起来像是正确的,那么您将从数据库中获得一个
DateTime
。您只需将其直接指定给value属性,例如

myDateTimePicker.Value = CDate(myDataRow("MyColumn"))
或:

要将数据保存回数据库,只需在命令上以与任何其他数据相同的方式创建一个参数,然后将
DateTime
分配给该参数的
值,例如

myCommand.Parameters.Add("@MyColumn", MySqlDbType.DateTime).Value = myDateTimePicker.Value

如果您不知道参数是如何工作的,请立即查找,因为这是将变量插入SQL代码中的唯一可接受的方法。

为什么不使用与数据库相同的格式作为选择器内部的格式呢。这不一定是最终用户看到的。转换可以在应用程序代码或JavaScriptI中处理。我假设您指的是Windows窗体
DateTimePicker
,但您需要指定。始终为技术和语言提供标记,例如Windows窗体、Web窗体或jQuery等。如果是WinForms,则绝对没有理由或甚至没有理由将
日期时间
值转换为
字符串
。您从数据库中以
日期时间
的形式获取它,并将其作为
日期时间
放入控件中,然后从控件中以
日期时间
的形式获取它,并将其作为
日期时间
发送回数据库。文本涉及的唯一位置是控件向用户显示值时,因此除了设置控件的适当属性之外,您不必担心。
属性的类型为
日期时间
,因此格式与此无关。对此我很抱歉。。。。是的。。我是说vb中的windows窗体,netyes。。。。我是说windows窗体。。我们是否有更简单的方法将日期保存在数据库中,然后再做相反的操作。。。我在将datetime设置为DateTimePicker时遇到了问题。您遇到问题的原因是您完全按照我告诉您不要做的做了,即创建了一个
字符串
。不要创建
字符串
。我将在我的答案中添加一些小的代码示例。。。我明白了……:)
myCommand.Parameters.Add("@MyColumn", MySqlDbType.DateTime).Value = myDateTimePicker.Value