IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Réseau C Discussion :

Connexion ODBC


Sujet :

Réseau C

  1. #1
    Membre éclairé

    Homme Profil pro
    Inscrit en
    Mars 2002
    Messages
    0
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 0
    Par défaut Connexion ODBC
    Salut,
    quelqu'un aurait-il un exemple de prog qui utilise une connexion ODBC et recupere les donnes d'une base?
    Merci d'avance

  2. #2
    Membre éclairé

    Homme Profil pro
    Inscrit en
    Mars 2002
    Messages
    0
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 0
    Par défaut
    Voici un programme tres basique qui recupere un entier en SQL avec
    les ODBC. Il n'est pas commenté mais avec une doc, tu n'auras aucun problème à comprendre
    A++

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    # include	<windows.h>
    # include	<stdio.h>
    # include	<sql.h>
    # include	<sqlext.h>
     
    static void geterror( HSTMT );
     
    #define	RC_SUCCESS(rc) (((rc)==SQL_SUCCESS) || ((rc) == SQL_SUCCESS_WITH_INFO))
     
    /* env et connection	*/
    SQLHENV		Henv ;
    SQLHDBC		Hdbc ;
     
     
    char    req0[] = "select A.IDENTITYCOL from X3.ZZBLOB A where A. NUM_0 = 1" ;
     
     
    main () {
     
        /* Declaration	    */
        RETCODE	rc ;
        SQLHSTMT	hStmt0 ;
     
     
        /* variable de retours Bind */
        SQLINTEGER	pcb[1] ;
        SQLINTEGER	id ;
     
     
        /* ************************************ */
        /* Environement et connection	    */
     
        rc = SQLAllocHandle(SQL_HANDLE_ENV, NULL, &Henv);
        if (!RC_SUCCESS( rc ))
    	geterror( SQL_NULL_HSTMT ) ;
     
        rc = SQLSetEnvAttr(Henv, SQL_ATTR_ODBC_VERSION,
                                (SQLPOINTER) SQL_OV_ODBC3, SQL_IS_INTEGER);
        if (!RC_SUCCESS( rc ))
    	geterror( SQL_NULL_HSTMT ) ;
     
        rc = SQLAllocHandle(SQL_HANDLE_DBC, Henv, &Hdbc);
        if (!RC_SUCCESS( rc ))
    	geterror( SQL_NULL_HSTMT ) ;
     
        rc = SQLConnect(Hdbc, "HERCULE2000", SQL_NTS, "X3", SQL_NTS, "tiger", SQL_NTS);
        if (!RC_SUCCESS( rc ))
    	geterror( SQL_NULL_HSTMT ) ;
     
        rc = SQLSetConnectAttr(Hdbc, SQL_ATTR_AUTOCOMMIT, SQL_AUTOCOMMIT_OFF, SQL_IS_UINTEGER);
        if (!RC_SUCCESS( rc ))
    	geterror( SQL_NULL_HSTMT ) ;
     
        rc = SQLSetConnectAttr(Hdbc, SQL_ATTR_TXN_ISOLATION, 
    				(SQLPOINTER) SQL_TXN_READ_COMMITTED, SQL_IS_UINTEGER);
        if (!RC_SUCCESS( rc ))
    	geterror( SQL_NULL_HSTMT ) ;
     
        rc = SQLEndTran( SQL_HANDLE_DBC, Hdbc, SQL_COMMIT ) ;
        if (!RC_SUCCESS( rc ))
    	geterror( SQL_NULL_HSTMT ) ;
     
     
        /* *************************************	*/
     
        rc = SQLAllocHandle(SQL_HANDLE_STMT, Hdbc, &hStmt0);
        if (!RC_SUCCESS( rc ))
    	geterror( SQL_NULL_HSTMT ) ;
     
        rc = SQLPrepare( hStmt0, req0, SQL_NTS ) ;
        if (!RC_SUCCESS( rc ))
    	geterror( hStmt0 ) ;
     
        rc = SQLBindCol( hStmt0, 1, SQL_C_SLONG, &id, 0, pcb );
        if (!RC_SUCCESS( rc ))
            geterror( hStmt0 ) ;
     
        rc = SQLExecute( hStmt0 ) ;
        if (!RC_SUCCESS( rc ))
            geterror( hStmt0 ) ;
     
        rc = SQLFetch( hStmt0 ) ;
        if (!RC_SUCCESS( rc ))
            geterror( hStmt0 ) ;
     
        rc = SQLFreeHandle(SQL_HANDLE_STMT, hStmt0);
        if (!RC_SUCCESS( rc ))
    	geterror( hStmt0 ) ;
     
        /* ************************************* */
        /* Deconnection			     */
        rc = SQLEndTran( SQL_HANDLE_DBC, Hdbc, SQL_COMMIT ) ;
        if (!RC_SUCCESS( rc ))
    	geterror( SQL_NULL_HSTMT ) ;
     
        /* **********************************   */
        /* c'est fini ! Free stmt		    */
     
        rc = SQLDisconnect( Hdbc );
        if (!RC_SUCCESS( rc ))
    	geterror( SQL_NULL_HSTMT ) ;
     
        SQLFreeHandle(SQL_HANDLE_DBC, Hdbc);
        SQLFreeHandle(SQL_HANDLE_ENV, Henv);
        return( 0 ) ;
    }
     
     
     
    static void geterror( HSTMT hStmt )
    {
        char	msg[256] ;		/* pointer to message	*/
        RETCODE	rc;			/* code erreur retour	*/
        char	szSqlState[6];		/* etat de retour	*/
        long	noError;		/* no de message	*/
        short	cbmsg;
     
        rc = SQLError(Henv, Hdbc, hStmt, szSqlState, &noError, msg, 256, &cbmsg);
        printf( msg ) ;
     
        exit( 0 );
    }

  3. #3
    Membre éclairé

    Homme Profil pro
    Inscrit en
    Mars 2002
    Messages
    0
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 0
    Par défaut
    merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Connexion ODBC à des bases Progress
    Par Blue LC dans le forum XMLRAD
    Réponses: 9
    Dernier message: 01/04/2006, 16h21
  2. Problèmes d'accent avec une connexion ODBC et ADO
    Par michael.jacques dans le forum Bases de données
    Réponses: 3
    Dernier message: 10/03/2005, 15h36
  3. SQL Server connexion ODBC
    Par klael dans le forum Bases de données
    Réponses: 7
    Dernier message: 09/03/2004, 10h18
  4. [Foxpro]Connexion ODBC par programme
    Par Richard MORRISSEY dans le forum Autres SGBD
    Réponses: 3
    Dernier message: 07/07/2003, 21h55
  5. connexion ODBC FileMaker pro 5 à ArcView 8.2
    Par Alex Blond dans le forum Autres SGBD
    Réponses: 4
    Dernier message: 16/06/2003, 17h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo