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

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

问题描述:

我收到错误并确定可能的原因。我有response.write'd SQL和复制粘贴到访问,它运行得很好,所以我怀疑这是SQL语句之外的东西。INSERT INTO语句中的语法错误经典ASP

我实际上复制粘贴从我插入值到不同的数据库中的代码,只是改变了数据库和我插入的值。有任何想法吗?

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'); 
+0

进行转义@ Andre同意它的语言独立于SQL Server,而不是使用的编程/脚本语言,这是非常常见的。 – Lankymart

+1

绝对是重复的。抱歉不知道。 –

Typepasswordpassword是Access数据库引擎保留字)是一个需要Reserve Word,因此使用[]

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

你忘了[密码] ... – Gustav

+0

@Gustav,不,密码不是保留字。请参阅答案中的链接或https://support.office.com/zh-cn/article/Access-2007-reserved-words-and-symbols-e33eb3a9-8baa-4335-9f57-da237c63eabe#__toc272229038 – Rahul

+0

嗯,我许多人发现它是。请参阅@Andre的链接(顶部)。 – Gustav