Bonjour,

Je développe une apllication C++ avec Visual 2005 dans laquelle je dois faire des requetes sql sur ma base de données SQL server.

N'ayant jamais fais ce genre de chose je me suis documentée (Internet, FAQ...).

J'ai testé 2 méthodes pour établir la connexion avec ma BDD :
  1. avec SQLAPI
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    #include <SQLAPI.h>
     
    // cree un objet de connexion
    SAConnection con;
     
    con.setClient( SA_SQLServer_Client );
     
    // connexion a la base de donnees
    con.Connect(
    	"SCO",   // nom de la BDD
    	"",      // utilisateur
    	"");     // mot de passe
     
    // definit le mode de transaction
    // les changements effectues sont definitifs
    con.setAutoCommit(SA_AutoCommitOn);
    j'obtiens les erreurs suivantes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    test\test.cpp(39) : error C2065: 'SAConnection'*: identificateur non déclaré
    test\test.cpp(39) : error C2146: erreur de syntaxe*: absence de ';' avant l'identificateur 'con'
    test\test.cpp(39) : error C2065: 'con'*: identificateur non déclaré
    test\test.cpp(41) : error C2228: la partie gauche de '.setClient' doit avoir un class/struct/union
            le type est ''unknown-type''
    test\test.cpp(41) : error C2065: 'SA_SQLServer_Client'*: identificateur non déclaré
    test\test.cpp(44) : error C2228: la partie gauche de '.Connect' doit avoir un class/struct/union
            le type est ''unknown-type''
    test\test.cpp(51) : error C2228: la partie gauche de '.setAutoCommit' doit avoir un class/struct/union
            le type est ''unknown-type''
    test\test.cpp(51) : error C2065: 'SA_AutoCommitOn'*: identificateur non déclaré
  2. avec CDatabase
    (je ne suis pas tout à fait sûre des paramètres de OpenEx )
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    #include <afxdb.h>
     
    // cree un objet CDatabase
    CDatabase myDB;
     
    // connexion a la BDD
    myDB.OpenEx(_T( "DSN=SCO" ),CDatabase::noOdbcDialog);
    j'obtiens les erreurs suivantes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    test\test.cpp(32) : error C2065: 'CDatabase'*: identificateur non déclaré
    test\test.cpp(32) : error C2146: erreur de syntaxe*: absence de ';' avant l'identificateur 'myDB'
    test\test.cpp(32) : error C2065: 'myDB'*: identificateur non déclaré
    test\test.cpp(35) : error C2228: la partie gauche de '.OpenEx' doit avoir un class/struct/union
            le type est ''unknown-type''


Je ne sais pas pourquoi cela ne fonctionne pas.
Si quelqu'un a une petite du pourquoi....

Merci

Sachiel