【发布时间】:2014-01-02 07:15:03
【问题描述】:
为什么没有时间插入数据库。它给了我这个错误。
“执行数据库查询时出错。
[Macromedia][SequeLink JDBC Driver][ODBC Socket][Microsoft][ODBC Microsoft Access Driver] INSERT INTO 语句中的语法错误。
资源: 启用稳健异常信息以提供有关错误来源的更多详细信息。在 Administrator 中,单击 Debugging & Logging > Debug Output Settings,然后选择 Robust Exception Information 选项。 检查 ColdFusion 文档以验证您使用的语法是否正确。 搜索知识库以找到问题的解决方案。
浏览器 Mozilla/5.0(兼容;MSIE 9.0;Windows NT 6.2;Trident/7.0) 远程地址 127.0.0.1 推荐人//localhost:8500/Travel/toursInsert.cfm?APTANA_NOCACHE_1388693909596=1388693909596 日期/时间 02-Jan-14 03:18 PM"
<div id="InputForm">
<cfset todayDateTime = Now()>
<cfform name="insertComments" id="insertComments">
<fieldset>
<label for="Remarks">Remarks<br />
</label>
<cftextarea name="Remarks" cols="55" rows="4" label="Tour Description" required="yes" validateat="OnSubmit" message="Please enter your comment here" enabled="no"></cftextarea>
</p>
<p>
<label for="Users">Submitters Name</label>
<br />
<cfinput type="text" name="Users" message="Please enter your name here." validateat="onSubmit" required="yes" id="Name" size="10" maxlength="60">
</p>
<p>
<label for="Image_ID">Image ID</label>
<br />
<cfinput type="text" name="Image_ID" message="Please enter Image_ID Number Here." validateat="onSubmit" required="yes" id="Image_ID" size="10" maxlength="60">
</p>
<p>
<cfinput type="submit" name="insertComments" value="Insert Comments" id="submit">
</p>
</fieldset>
</cfform>
<cfif IsDefined("form.InsertComments")>
<cfquery datasource="AccessTest">
INSERT INTO CommentsDB (Remarks, Users, Image_ID, Time)
VALUES ('#form.Remarks#','#form.Users#','#form.Image_ID#',#DateTimeFormat(todayDateTime, "yyyy.MM.dd hh:nn aaa")#)
</cfquery></cfif>
</div>
【问题讨论】:
-
如果 access 有返回当前日期和时间的内容,请在查询中使用它并忘记从 ColdFusion 传递该特定值。
-
首先,您应该在查询中使用
cfqueryparam。其次,您为什么使用 Access?有更好的解决方案,例如 MySQL 和 PostgreSQL,它们是免费的、更强大的,也是更好的选择。 -
用
#now()#替换#DateTimeFormat(todayDateTime, "yyyy.MM.dd hh:nn aaa")#并测试它。 -
Access有一个可以获取当前日期时间的功能。 stackoverflow.com/questions/2136552/…
-
1) 请发布完整的错误消息,包括生成的 SQL 2)
Time列的数据类型是什么:varchar 或 datetime?此外,Time是列名的错误选择,因为它是 typically a reserved word。如果未正确转义,将其用作对象名称可能会导致语法错误。
标签: ms-access coldfusion