INSERT INTO语句经典ASP中的语法错误

时间:2016-08-16 20:21:15

标签: sql ms-access asp-classic

我收到错误并且不确定原因是什么。我有响应。写了SQL并将其粘贴到访问中并且运行完全正常,所以我怀疑它只是SQL语句之外的东西。

我实际上复制了粘贴我的代码,当时我将值插入到不同的数据库中,只是更改了数据库和我插入的值。有什么想法吗?

set conn = server.createobject("ADODB.Connection")
conn.open "provider=Microsoft.Jet.OLEDB.4.0; data source=" &server.mappath("/test_framework/rbxDB.mdb")

user = request.form("user")
pass = request.form("password")
sql = "INSERT INTO users (userID, password, Type) VALUES ('"&user&"', '"&pass&"', 'S');"

response.write(sql)
set rs=conn.execute(sql)

conn.close
set conn = nothing

是的我知道这段代码有很多问题,但是它们没有给我一个错误,我只是想修复这个错误“语法”错误。

什么是response.writed:

INSERT INTO users (userID, password, Type) 
VALUES ('asdf', 'q123eqeds', 'S');

1 个答案:

答案 0 :(得分:1)

Typepasswordpassword是一个访问数据库引擎保留字)是Reserve Word,因此需要使用[]进行转义,例如

INSERT INTO users (userID, [password], [Type]) VALUES ('asdf', 'q123eqeds', 'S');