Исключенная ошибка конца оператора в ASP - PullRequest
0 голосов
/ 18 августа 2011

При вставке данных в базу данных возникает следующая ошибка

"Исключенный конец выписки"

 sqlstr = "INSERT INTO tblContact (Email,FirstName,LastName,Comments) VALUES ('" & Email & "', '" & First Name & "','" & Last Name & "','" & Comments & "')"
 objConn.Execute sqlstr

Ответы [ 2 ]

2 голосов
/ 18 августа 2011

Попробуйте использовать идентификаторы из одного слова для ваших переменных имени и фамилии:

sqlstr = "INSERT INTO tblContact (Email,FirstName,LastName,Comments) " & _
         " VALUES ('" & Email & "', '" & FirstName & "','" & LastName & "','" & Comments & "')"
 objConn.Execute sqlstr

Если в вашем VBScript есть переменные с этими именами , это 'Вы решите свою текущую проблему с помощью Expected end of statement.

Ваша вторая проблема - это уязвимость кода для SQL-инъекций .

Чтобы помочь решить эту проблему, см .:

1 голос
/ 21 августа 2011

У вас может быть одинарная кавычка в одном из значений, что приведет к неверному SQL.Вы должны избегать одинарных кавычек, хотя лучше переписать свой код, чтобы вместо него использовать параметры.

sqlstr = "INSERT INTO tblContact (Email, FirstName, LastName, Comments) " & _
     " VALUES ('" & Replace(Email, "'", "''") & "', '" & Replace(FirstName, "'", "''") & "', '" & Replace(LastName, "'", "''") & "', '" & Replace(Comments, "'", "''") & "')"
objConn.Execute sqlstr
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...