Classe cbdd

Description

Une classe pour la gestion et l'accès aux bases de données. Testée avec différents drivers tels que ODBC, MySQL... elle facilite l'utilisation de bases de données dans une application Windows.

Source / Exemple :


#pragma once

#include <windows.h>
#include <sql.h>
#include <sqlext.h>
#include <sqltypes.h>

#include "Chaine.h"

class CBDD
{
     public:
        //type de définition de driver
        typedef struct
        {      
             char strDriver[MAX_PATH];
             char strAttribut[MAX_PATH];
        }TDriver;
        //type de définition de source
        typedef struct
        {      
             char strDSN[MAX_PATH];
             char strDriver[MAX_PATH];
        }TSource;
        //type de définition de table
        typedef struct
        {      
             char strTable[MAX_PATH];
        }TTable;
        //type de définition de colonnes
        typedef struct
        {
             char strNom[100];        
             char strType[100];
             int iTaille;
        }TColonne;
            
     private:
          SQLHDBC m_hDBC;
          SQLHENV m_hEnv;
          SQLHSTMT m_hStmt;
          
          BOOL bConnexion;
             
     public:
          CBDD();
          CBDD(const CChaine& strConnexion);
          CBDD(const CChaine& strSource, const CChaine& strLogin, const CChaine& strPass);
          ~CBDD();
          
          BOOL Connect(const CChaine& strConnexion);
          BOOL Connect(const CChaine& strSource, const CChaine& strLogin, const CChaine& strPass);
          BOOL Deconnect(void);
          
          int GetDrivers(CBDD::TDriver* Drivers, int iNbDrivers);
          int GetSources(CBDD::TSource* Sources, int iNbSources);
          
          BOOL ExecReq(const CChaine& strReq);
          
          int GetTables(CBDD::TTable* Tables, int iNbTables);          
          int GetColonnes(const CChaine& strTable, TColonne* Colonnes, int iNbColonnes);          
          
          int GetNbColResult(void);
          BOOL GetResult(int iCol, CChaine& strResult);
          BOOL GetResult(int iCol, char* strResult, int iTailleResult);
          BOOL GetResult(int iCol, int* iResult);
          BOOL GetResult(int iCol, float* fResult);
          BOOL GetResult(int iCol, double* dResult);
          BOOL GetResult(int iCol, char* cResult);
          BOOL GetResult(int iCol, DATE_STRUCT* tResult);
          BOOL GetResult(int iCol, TIME_STRUCT* tResult);
          BOOL GetResult(int iCol, TIMESTAMP_STRUCT* tResult);
          
          BOOL First(void);
          BOOL Last(void);
          BOOL Next(void);
          BOOL Prev(void);
};

Conclusion :


Cette classe utilise la classe CChaine présente sur ce site.

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.