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 averti

    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
    Points : 314
    Points
    314
    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 averti

    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
    Points : 314
    Points
    314
    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 averti

    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
    Points : 314
    Points
    314
    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