【问题标题】:Insert date into Access database gives syntax error将日期插入 Access 数据库会出现语法错误
【发布时间】:2013-10-30 03:01:57
【问题描述】:

尝试将当前日期插入我的 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)) 时,它显示 10/29/2013,这应该是可接受的记录。

这样做还会在 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

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

【问题讨论】:

    标签: asp.net date ms-access


    【解决方案1】:

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

    sqlString = "INSERT INTO table1 ([Day]) VALUES (Now())"
    

    【讨论】:

    • 我不知道 Day 也是一个保留关键字。感谢 Hans 提供链接并回答我的问题!
    • DateDay 都是函数。我包含了一个指向 Allen Browne 关于保留名称和其他问题名称的页面的链接。该页面还包含一个免费实用程序的链接,您可以下载并使用它来检查您的 Access 数据库中的问题名称。
    • 嗯。我确定我在回复不同的评论。 :-) 干杯。
    猜你喜欢
    • 2014-07-11
    • 1970-01-01
    • 1970-01-01
    • 2013-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-01
    • 1970-01-01
    相关资源
    最近更新 更多