datagridview中的日期和时间

时间:2016-05-23 11:40:35

标签: vb.net datetime datagridview

有人帮我解决了这个问题,每次我保存或更新数据时,日期工作正常,但时间总是凌晨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

请帮忙。

5 个答案:

答案 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)