将日期/时间插入Access数据库

时间:2012-04-20 03:20:28

标签: asp.net sql vb.net ms-access

我正在使用ASP.NET / VB,我正在尝试在Access日期/时间字段中插入日期和时间,但我收到错误(条件表达式中的数据类型不匹配)。这是我的代码的简化版本:

Dim myDate As Date = Now()
Dim myIns1 As New OleDbCommand("INSERT INTO tableCourse (date_submitted) VALUES (?)", myConn)
myIns1.Parameters.AddWithValue("@myDate", myDate)
myIns1.ExecuteNonQuery()

不确定我为什么会收到错误,并且不确定这是否是接近插入当前日期的正确方法。从查看其他类似的问题看,有几种不同的方法可以做到这一点,但我的技术知识有点受限,所以我很难搞清楚(换句话说,使用我知道的技术术语来解读答案)没什么关于)。

提前致谢!

2 个答案:

答案 0 :(得分:2)

您可以完全跳过参数,只需将NOW函数直接写入查询。

Dim myIns1 As New OleDbCommand("INSERT INTO tableCourse (date_submitted) VALUES (NOW())", myConn)
myIns1.ExecuteNonQuery()

这个答案(上面的答案)可能是更好的解决方案,但原始代码不起作用的原因是因为参数未命名。你可以试试这个:

Dim myDate As Date = Date.Now
Dim myIns1 As New OleDbCommand("INSERT INTO tableCourse (date_submitted) VALUES (@myDate)", myConn)
myIns1.Parameters.AddWithValue("@myDate", myDate)
myIns1.ExecuteNonQuery()

<击>

答案 1 :(得分:-1)

尝试更改

Dim myDate As Date = Now()

Dim myDate As DateTime = Now()

MS Access不提供DATE数据类型,仅提供DATETIME。