Partager via


SQL : appels SQL directs (ODBC)

Cette rubrique explique :

Remarque

Ces informations s’appliquent aux classes ODBC MFC. Si vous utilisez les classes DAO MFC, consultez la rubrique « Comparaison SQL entre le moteur de base de données Microsoft Jet et ANSI » dans l’aide de DAO.

Quand appeler SQL directement

Pour créer de nouvelles tables, supprimer (supprimer), modifier des tables existantes, créer des index et exécuter d’autres fonctions SQL qui modifient le schéma ODBC (Data Source), vous devez émettre une instruction SQL directement à la source de données à l’aide du langage DDL (Database Definition Language). Lorsque vous utilisez un Assistant pour créer un recordset pour une table (au moment du design), vous pouvez choisir les colonnes de la table à représenter dans le jeu d’enregistrements. Cela n’autorise pas les colonnes que vous ou un autre utilisateur de la source de données ajoutez à la table ultérieurement, une fois que votre programme a été compilé. Les classes de base de données ne prennent pas en charge DDL directement, mais vous pouvez toujours écrire du code pour lier une nouvelle colonne à votre jeu d’enregistrements dynamiquement, au moment de l’exécution. Pour plus d’informations sur la façon d’effectuer cette liaison, consultez Recordset : Colonnes de données de liaison dynamique (ODBC).

Vous pouvez utiliser le SGBD lui-même pour modifier le schéma ou un autre outil qui vous permet d’effectuer des fonctions DDL. Vous pouvez également utiliser des appels de fonction ODBC pour envoyer des instructions SQL, telles que l’appel d’une requête prédéfinie (procédure stockée) qui ne retourne pas d’enregistrements.

Effectuer des appels de fonction SQL direct

Vous pouvez exécuter directement un appel SQL à l’aide d’un objet CDatabase Class . Configurez votre chaîne d’instruction SQL (généralement dans un CString) et passez-la à la fonction membre CDatabase ::ExecuteSQL de votre CDatabase objet. Si vous utilisez des appels de fonction ODBC pour envoyer une instruction SQL qui retourne normalement des enregistrements, les enregistrements sont ignorés.

Voir aussi

SQL