Аннотация:
Если вы не используете MFC для доступа к СУБД или вы хотите узнать, как работают классы CDatabase и CRecordset из этой библиотеки, то эта статья для вас.
Разница, в общем, не в том, что во втором случае мы можем использовать параметры в запросе, а в том, что во втором случае СУБД не тратит время на разбор строки запроса для выполнения — это уже было сделано вызовом SQLPrepare. Соответственно, если нам нужно выполнить много (несколько) однотипных запросов с набором разных параметров, мы можем один раз подготовить SQL-выражение, что ускорит работу.
А параметры в виде "?" можно использовать и в SQLExecDirect(...). Вязать их, соответсвенно, нужно до вызова SQLExecDirect(...), но после SQLAllocHandle(...) для выражения (STMT).
Странно, о разнице в статье ни слова, но всё равно спасибо за дополнение и пояснение.
-------------------------------------------------------------------
Вызывает презедент к себе коров и говорит:
— Ну, что будем сдавать, молоко или мясо?
(с) Г. Явлинский TV6 — Герой дня (18.04.2002)