我尝试通过VB Net将日期值插入MS Access数据库但我得到“无法将xxxxx转换为时间跨度”错误。我试过这个:
ComandoBD.Parameters.Add("@Hora", OleDbType.DBTime).Value = TimeOfDay.ToString("HH:mm:ss")
ComandoBD.Parameters.Add("@Hora", OleDbType.DBTime).Value = TimeOfDay
ComandoBD.Parameters.Add("@Hora", OleDbType.DBTime).Value = time.TimeOfDay
但没有,在Access数据库中,时间字段设置为“日期/时间”,因为没有时间选项。
这是该部分的完整摘要:
For i As Integer = 0 To Form2.DataGridView2.Rows.Count - 2
Try
ConexionBD.Open()
ComandoBD.Connection = ConexionBD
ComandoBD.CommandText = "INSERT INTO Ventas (IdProducto, Fecha, Hora) VALUES (@IdProducto, @Fecha, @Hora)"
ComandoBD.Parameters.Add("@IdProducto", OleDbType.VarChar).Value = Form2.DataGridView2.Rows(i).Cells(0).Value
ComandoBD.Parameters.Add("@Fecha", OleDbType.DBDate).Value = Now
ComandoBD.Parameters.Add("@Hora", OleDbType.DBTime).Value = time.TimeOfDay
ComandoBD.ExecuteNonQuery()
ComandoBD.Dispose()
Catch ex As Exception
MsgBox(ex.ToString)
End Try
ConexionBD.Close()
Next
当我使用OleDbType.VarChar,OleDbType.Boolean甚至OleDbType.Binary执行此操作(对于其他字段)时,我没有任何问题。
请帮忙。
感谢。
答案 0 :(得分:1)
使用
ComandoBD.Parameters.Add("@Hora", OleDbType.DBTime).Value = DateTime.Now.TimeOfDay