有人帮我解决了这个问题,每次我保存或更新数据时,日期工作正常,但时间总是凌晨12点。时间应该是我输入数据并保存到数据库中的时间。
这是我的更新代码
Dim i As Short
con.Open()
Using com As New SqlClient.SqlCommand("UPDATE Information set FiveS_Date = '" & DateTimePicker1.Text & "',FiveS_Score = '" & TextBox2.Text & "',FiveS_Total = '" & TextBox3.Text & "' ,FiveS_Percentage = '" & TextBox4.Text & "' WHERE Id='" & id & "'", con)
i = com.ExecuteNonQuery()
End Using
con.Close()
If (i > 0) Then
MsgBox("Training updated successfully", MsgBoxStyle.Information)
End If
请帮忙。
答案 0 :(得分:1)
使用ADO.NET时,应使用参数来避免数据转换问题。这有助于您在应用程序中使用不同的文化。
无论如何,DateTimePicker1.Value
也会给你时间,但是如果你选择的日期与DateTimePicker的默认值(现在是)不同,那么DateTimePicker总会给你时间“12:00” 。你必须格式化它以显示时间并有可能设置它(例如“MM / dd / yyyy HH:mm”)。
答案 1 :(得分:0)
尝试将packages
更改为DateTimePicker1.Text
DateTimePicker1.Value.ToString
只返回可见的内容(仅限日期),而.Text
则返回当前时间以及显示的日期。
答案 2 :(得分:0)
要将时间插入数据库,您需要使用
DateTimePicker1.Value
而不是
DateTimePicker1.Text
答案 3 :(得分:0)
试试这个:
FiveS_Date ='" + DateTime.Parse(datetxt.Text).ToString("dd/MM/yyy") +"'
答案 4 :(得分:0)
对于初学者,DateTimePicker1.Text
只会为您提供DateTimePicker中显示的字符串,默认情况下,DateTimePickers格式只显示日期,默认情况下,时间将是12:00 AM。您可以通过将DateTimePicker的“属性”窗口中的“格式”字段更改为“时间”来更改DateTimePicker格式以显示时间。
DateTimePicker to Time format
或者通过您的句子,您希望保存所选日期与将数据保存到数据库的时间相结合,只需创建一个新的DateTime变量,并将DateTimePicker Dates作为值插入该变量,并将时间从DateTime.Now( )函数将返回当前日期和时间。
Dim now As DateTime = DateTime.Now()
Dim myDate = new DateTime(DateTimePicker1.Value.Year, DateTimePicker1.Value.Month, DateTimePicker1.Value.Day, now.Hour, now.Minute, now.Second, now.Millisecond)