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');
答
Type
和password
(password
是Access数据库引擎保留字)是一个需要Reserve Word,因此使用[]
像
INSERT INTO users (userID, [password], [Type]) VALUES ('asdf', 'q123eqeds', 'S');
进行转义@ Andre同意它的语言独立于SQL Server,而不是使用的编程/脚本语言,这是非常常见的。 – Lankymart
绝对是重复的。抱歉不知道。 –