SQL. Выполнение прямых вызовов SQL (ODBC)
В этом разделе рассматриваются следующие вопросы.
Когда следует использовать прямые вызовы SQL.
Примечание.
Эта информация относится к классам ODBC библиотеки MFC. Если вы работаете с классами DAO MFC, см. раздел "Сравнение Microsoft Jet ядро СУБД SQL и ANSI SQL" в справке DAO.
При вызове SQL напрямую
Чтобы создавать новые таблицы, удалять (удалять) таблицы, изменять существующие таблицы, создавать индексы и выполнять другие функции SQL, изменяющие схему источника данных (ODBC), необходимо выполнить инструкцию SQL непосредственно в источник данных с помощью языка определения базы данных (DDL). При использовании мастера создания набора записей для таблицы (во время разработки) можно выбрать столбцы таблицы для представления в наборе записей. Это не позволяет добавлять столбцы или другого пользователя источника данных в таблицу позже после компиляции программы. Классы базы данных не поддерживают DDL напрямую, но вы по-прежнему можете написать код для привязки нового столбца к набору записей динамически во время выполнения. Сведения о том, как сделать эту привязку, см. в разделе Recordset: динамически привязка столбцов данных (ODBC).
С помощью СУБД можно изменить схему или другое средство, которое позволяет выполнять функции DDL. Кроме того, можно использовать вызовы функций ODBC для отправки инструкций SQL, таких как вызов предопределенного запроса (хранимая процедура), который не возвращает записи.
Выполнение вызовов функции Direct SQL
Вызов SQL можно выполнить напрямую с помощью объекта класса CDatabase. Настройте строку инструкции SQL (обычно в a CString
) и передайте ее в функцию члена CDatabase::ExecuteSQL объекта CDatabase
. При использовании вызовов функций ODBC для отправки инструкции SQL, которая обычно возвращает записи, записи игнорируются.