begin process at 2012 05 27 14:26:48
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Base de données

 > CLASSE CBDD

CLASSE CBDD


 Information sur la source

Note :
Aucune note
Catégorie :Base de données Classé sous :bdd, sql, odbc, base, donnee Niveau :Initié Date de création :07/05/2006 Vu / téléchargé :4 746 / 712

Auteur : bobbyantho

Ecrire un message privé
Commentaire sur cette source (2)
Ajouter un commentaire et/ou une note

 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

  • #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);
  • };
#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.

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip Source avec une capture CLASSE CGRAPHXY
Source avec Zip CLASSE CLECTEURVIDÉO
Source avec Zip CLASSE CTHREAD
Source avec Zip CLASSE CUSERINFO
Source avec Zip CLASSE CPIXEL

 Sources de la même categorie

GESTION DE FICHIER ET DOSSIER + AUTRES par shinji63
Source avec une capture CONVERTISSEUR par smartties
Source avec Zip CREATION D'UN FICHIER DBF (EN C) par Stanel
Source avec Zip STRUCTURE DES FICHIERS DBF par Stanel
Source avec Zip Source avec une capture GESTION DES ENTREES/ SORTIES AVEC CODEBARRE par YvaddavY

 Sources en rapport avec celle ci

CONVERTISSEUR DE NOMBRE DE BASE EN BASE par G3nt002008
Source avec Zip BASE DE DONNÉES FICHIER par xasm
Source avec Zip BOT IRC C++ FACONNABLE ET EXTENSIBLE AVEC ARCHITECTURE EVENE... par lovejava
Source avec Zip CLASS POUR INTERACTION AVEC BASE DONNÉE MYSQL par MrCapo
Source avec Zip Source avec une capture [ODBC] BIPFILE - FONCTIONS D'ACCÈS AUX BASES DE DONNÉES par bipcpp

Commentaires et avis

Commentaire de wadcyr8_197 le 25/07/2007 18:02:18

juste pour savoir, parce que j'ai un doute, elle fonctionne aussi sous linux avec MySQL ???

Commentaire de bobbyantho le 26/07/2007 10:47:59

En observant un peu, le #include <windows.h> devrait t'ôter tout doute.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

base de donnee SQL et C++ [ par alf69 ] Salut tt le monde je cherche enregistrer dans une base de donnée SQL des variable de code c++auriez vs des ex de prog ?-&gt;comment configurer , envoy LIEN source ODBC [ par psycomel ] Bonjour.J'aurais aimé savoir comment j'aurais pu générer automatiquement une source odbc.Par exemple j'ai ma base Access dans le meme repertoire que m afficher bdd dans listbox [ par spycomeback ] Salut Je voudrais savoir comment afficher une base de donnée de type Access dans une listboxla base de donnée est ouverte juste avanttheApp.mdb-&gt;Op Base de donnée MFC avec ODBC [ par ttotozafiny ] Bonjour à tous,je voudrais développer un outil permettant de modifier, supprimer et ajouter d'un enregistrement d'une la base donnée access. J'utilise lecture d'une BDD sur un CD [ par xc78370 ] Bonjour,Je voudrais pouvoir lire une base de donnée (paradox) qui se trouve sur un CD.La lecture de ma base provoque la création d'un fichier temporai projet en xml avec base de donné [ par donell1 ] 8) Bonjour j'ai un projet a faire en xml avec biensure l'utilisation d'une base de donnee. Débutant en xml et en base donnee.J'aimerais savoir par ou Fonctions pour récupérer les données d'une BDD avec ODBC... [ par Buzu ] Quelqu'un sait-il quelles sont les fonctions à utiliser pour envoyer des requêtes vers oracle avec une liaison ODBC et pour récupérer et traiter les r C++.NET Odbc Connection à une base access [ par baptistemazet ] Bonjour, jessaye d'&#233;tablir une connection &#224; une base de donn&#233;es access, pour alors l'attaquer par des requetes SQL, le probl&#232;me es Connexion à une BDD via socket en C [ par jumpup ] Bonjour à vous les développeurs!!!Alors tout d'abord je voudrai mettre les choses au clair: je suis une bille en programmation mais nos fameuses étude connection a une base sql avec des sockets [ par warenbe ] salut a tousj'essaye de coder un programme permettant de recuperer des infos sur un serveur sql et de les afficheerseulement je ne sais pas trop comme


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,936 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales