1

从字符串转换日期和/或时间时转换失败。我的类型数据列是时间(7)

我的代码是

Protected Sub insertdata()
        Dim cls As New Class1

        cls.openconnections()
        Dim cmd As New SqlClient.SqlCommand
        cmd.Connection = cls.cn

        cmd.CommandText = "Insert Into Schedule (Room ,Hostel,Tanggal,Jam)"
        cmd.CommandText &= "Values (@room,@hostel,@tanggal,@jam:@menit:00)"

        cmd.Parameters.AddWithValue("@hostel", listhotelx.SelectedValue)
        cmd.Parameters.AddWithValue("@room", listroomx.SelectedValue)
        cmd.Parameters.AddWithValue("@tanggal", Calendar1.SelectedDate.ToShortDateString)
        cmd.Parameters.AddWithValue("@jam", jam.SelectedValue)
        cmd.Parameters.AddWithValue("@menit", menit.SelectedValue)

        cmd.ExecuteNonQuery()
        cls.closeconnection()
    End Sub

感谢您的帮助。

4

2 回答 2

1

您必须以时间格式连接hh:mm:ss字符串,然后分配给参数。

cmd.CommandText = "Insert Into Schedule (Room ,Hostel,Tanggal,Jam)
                      Values (@room,@hostel,@tanggal,@jam)"

str=String.format("{0}:{1}:00",jam.SelectedValue,menit.SelectedValue)
...
cmd.Parameters.AddWithValue("@jam", str)
于 2012-07-16T08:43:03.577 回答
0

Time sql-Type 映射到代码中的 TimeSpan 类型。将您的日期时间转换为时间跨度,即:

Calendar1.SelectedDate.TimeOfDay

欲了解更多信息:http: //msdn.microsoft.com/en-us/library/ms131092.aspx

类似的答案:如何在 .net 应用程序中使用 sql server 时间数据类型?

于 2012-07-16T08:43:26.167 回答