ASP经典& SQL(INSERT INTO语句中的语法错误。)

时间:2013-12-30 18:09:13

标签: sql asp-classic

尝试使用用户输入的信息添加新组时出现此错误。

Microsoft Access Database Engine error '80040e14'

Syntax error in INSERT INTO statement.

/student/s0190204/wip/group-add.asp, line 79

这是sql,会话正在获取登录用户的ID。

sql_comd="INSERT INTO group (grp_USERID, grp_name, grp_caption, grp_content, grp_DATECREATED, grp_OPEN) VALUES('" &_
session("usr_ID") & "','" & _
request("grp_name") & "','" & _
request("grp_caption") & "','" & _
request("grp_content") & "','" & _
date & "','" & _
request("grp_open") & "')"

由于

1 个答案:

答案 0 :(得分:2)

我建议您通过跟踪,并将您直接传递给SQL的输出字符串发布。只需在创建字符串时在其中放置一个断点并检查它。

这段代码没有太大问题,但是你还没有确定你的输入字符串是否干净。它们中可能带有引号或日期不是正确的字符串格式等等。

此外,请注意,此查询非常容易受到查询注入的影响,因为它似乎直接从请求填充输入到数据库。

OH,和。您的'插入INTO'需要[]中的组。 (比如[Group])你的日期应该是DateTimes而不是字符串。 (如果这只与括号一起使用)请参阅我对其他问题的说明。 (并避免在架构中使用这些(http://technet.microsoft.com/en-us/library/ms189822.aspx

你可以将日期的'default'设置为'= GetDate()'而不是从C#端传递它,我个人更喜欢。