ASP Classic和MSAccess日期

时间:2012-04-15 06:11:48

标签: database ms-access asp-classic

我之前已经从ASP输入了Access的日期,我使用相同的代码......但无论如何都不会接受查询。我一整天都在工作,也许我只是累了,但有人可以帮我看一下吗?

这是代码生成的示例查询:

INSERT INTO COMMENTS (FID,AUTHOR,DATE,COMMENT) VALUES ("6","John Doe",#4/15/2012#,"test comment") 

就像我说的那样,代码的模板直接来自其他有效的地方。如果我从查询中删除日期,它可以正常工作。我已经三次检查DATE字段是DATE / TIME列,我尝试删除并重新创建它没有运气。

会感激一些帮助。

3 个答案:

答案 0 :(得分:1)

我暂时没有触及Access,但您可以尝试一些查询:

查询1:将DATE更改为[DATE],因为DATE可能是Access使用的常用关键字。

    INSERT INTO COMMENTS 
    (FID,AUTHOR,[DATE],COMMENT) 
    VALUES 
    ("6","John Doe",#4/15/2012#,"test comment") 

查询2:将#4/15/2012#更改为GetDate()(日期戳)

    INSERT INTO COMMENTS 
    (FID,AUTHOR,[DATE],COMMENT) 
    VALUES 
    ("6","John Doe",GETDATE(),"test comment") 

或者尝试将它们组合起来。如果其中任何一个不起作用,请回报。

答案 1 :(得分:0)

您可以尝试#MM-DD-YYYY#。它还建议使用YYYY-MM-DD,因此您可以尝试#YYYY-MM-DD#甚至#'YYYY-MM-DD'#

答案 2 :(得分:0)

这就是我为我工作的原因:

    strDSNPath = "PROVIDER=MSDASQL;DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("data.mdb")
    strSQL_Insert = "INSERT INTO COMMENTS (FID,AUTHOR,CDATE,COMMENT) VALUES ('6','John Doe','4/15/2012','test comment')"

   Set Conn=Server.CreateObject("ADODB.Connection")
        Conn.Open strDSNPath
            Conn.Execute strSQL_Insert
        Conn.Close
    Set Conn = Nothing

这是数据库:Download

注意:

*我无法使用(“),所以我用(')

*日期没有主题标签(可能需要修复)

*对不起它已经很晚了,花了我一个半小时来搞清楚,而且它最终只是“使用单引号”