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