Я использую ASP Classic и SQL Server 2000 для создания динамических веб-сайтов.ASP Classic - Объект Recordset и объект Command
Я немного смущен, когда следует использовать объект recordset и когда использовать объект команды при запросе базы данных.
Мне сказали, что если хранимая процедура будет возвращать записи из инструкции SELCT, тогда я должен использовать набор записей, однако, если я обновляю или вставляю, я должен использовать объект команды и передавать все данные в качестве параметров в хранимая процедура.
При использовании записей я часто передавать все необходимые данные, как так:
rs.Source = "spTest " & id
Я все дни проверки достоверности данных, которые я передаю, чтобы убедиться, что это то, что я ожидал и бросить его в правильный тип.
С тех пор мне сообщили, что указанный выше метод оставляет мой код открытым для атак SQL Injection и что я всегда должен использовать объект команды.
Это правильно?
Thanks
Спасибо. Скажите, что, как и в примере, который я дал, я знаю, что параметр будет числовым, и я проверил вход, чтобы убедиться, что он есть. Было бы хорошо использовать объект набора записей, как я описал, или я должен использовать объект команды независимо? Я только спрашиваю, как много времени, это только числовые значения, которые я прохожу, и это спасло бы меня много времени, если бы мне не пришлось пройти и изменить их все. Thanks – chester600