Запрос возвращает ошибку ODBC «слишком мало аргументов» в неподготовленном операторе - PullRequest
0 голосов
/ 15 мая 2019

Я пытаюсь запустить этот код из кода ASP.Net:

string strupdate = "Insert into registers(user, module, event_type)" +
    "values (" +
    "'" + user + "'," +
    "'" + event + "'," +
    "'" + source + "');";

/* connSQL it's the ODBC connection type: System.Data.Odbc.OdbcConnection */
connSQL.ExecuteNonQuery();

Запрос приводит к следующему:

Insert into registers(user, module, event_type)values('user01','message','control');

Выполнение этого запроса из psql отлично работает, но при запуске из Интернета возвращается ошибка ODBC 07002 со следующим сообщением: # число связанных параметров <количество маркеров параметров </p>

1 Ответ

0 голосов
/ 15 мая 2019

В коде "'" + event + "," + есть опечатка, она должна быть "'" + event + "'," +.

т. Е. Во втором значении параметра отсутствовала конечная одинарная кавычка.

Примечание: Ваш код возможен для атаки SQL-инъекцией.Пожалуйста, преобразуйте код с параметризованными значениями.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...