6

我正在使用 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()

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

提前致谢!

4

2 回答 2

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()

于 2012-04-20T03:40:27.683 回答
-1

尝试改变

Dim myDate As Date = Now()

Dim myDate As DateTime = Now()

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

于 2012-04-20T03:24:47.700 回答