1

尝试将当前日期插入我的 Access 数据库会引发 INSERT INTO 语句的语法错误。

我的数据库包含一个名为 Day 的字段,其数据类型为 Date/Time。

我的插入语句是:

Try
    dbConnection.Open()
    sqlString = "INSERT INTO table1 (Day) VALUES (@Day)"
    dbCommand.CommandText = sqlString
    dbCommand.Parameters.AddWithValue("@Day", FormatDateTime(Now, 2))
    dbCommand.ExecuteNonQuery()
Finally
    dbConnection.Close()
End Try

当我这样做Response.Write(FormatDateTime(Now, 2))时,它显示 2013 年 10 月 29 日,这应该是可以接受的记录。

这样做还会在 INSERT INTO 语句中引发语法错误:

Try
    dbConnection.Open()
    sqlString = "INSERT INTO table1 (Day) VALUES (Now())"
    dbCommand.CommandText = sqlString
    dbCommand.ExecuteNonQuery()
Finally
    dbConnection.Close()
End Try

Try
    dbConnection.Open()
    sqlString = "INSERT INTO table1 (Day) VALUES (#" & FormatDateTime(Now, 2) & "#)"
    dbCommand.CommandText = sqlString
    dbCommand.ExecuteNonQuery()
Finally
    dbConnection.Close()
End Try

日期的格式是否不适合该字段?

4

1 回答 1

1

是保留字。将该名称括在方括号中以避免混淆数据库引擎。

sqlString = "INSERT INTO table1 ([Day]) VALUES (Now())"
于 2013-10-29T19:01:29.790 回答