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

C++Builder Discussion :

Base de donn�e Access depuis C++ Builder


Sujet :

C++Builder

  1. #1
    Membre �clair� Avatar de Mangacker
    Profil pro
    Inscrit en
    D�cembre 2006
    Messages
    452
    D�tails du profil
    Informations personnelles :
    �ge : 34
    Localisation : Suisse

    Informations forums :
    Inscription : D�cembre 2006
    Messages : 452
    Par d�faut Base de donn�e Access depuis C++ Builder
    hello tout le monde je d�bute avec les bases de donn�es et je sais que l'on peut questionner une db access avec un programme borland...

    je suis en train de tester avec l'objet TSQLQuery mais je ne sais pas bien comment m'en servir, ou et comment indiquer le chemin vers la db...

    si quelqu'un pouvait prendre un peu de temps pour m'expliquer ce serait cool.

    merci

  2. #2
    Membre Expert
    Avatar de Crayon
    Inscrit en
    Avril 2005
    Messages
    1 811
    D�tails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 811

  3. #3
    Membre chevronn�

    Profil pro
    Inscrit en
    Juin 2005
    Messages
    351
    D�tails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2005
    Messages : 351
    Par d�faut
    Tu peux aussi utiliser les connexions ADO:

    1) Cr�er un object TADOConnection dans ta fiche
    2) Avec un double-clic sur le composant, tu peux d�finir la connection string. Deux m�thodes: avec le builder (il faut s�lectionner "Microsoft Jet 4.0" comme provider et s�lectionner le fichier mdb dans connexion), sinon tu peux cr�er toi-m�me la connectionstring:

    Provider=Microsoft.Jet.OLEDB.4.0;Data Source=DATABASE.MDB

    en rempla�ant "DATABASE.MDB" par le nom de ta base de donn�es (y.c. le path). Si tu as besoin d'un fichier mdw pour ouvrir la base de donn�e, alors tu dois ajouter des param�tres � ta connectionstring, cf cet article:

    http://www.codeproject.com/database/...OLE%20DB%20Jet

    Apr�s, tu peux utiliser cette connexion avec les autres composantes de la barre "dbGo" (dans BDS2006; je crois que dans Builder 6 elle s'appelle autrement) pour relier la base � des TDataSet.

    TADOConnection --> TADOQuery --> TDataSet

    (--> signifie "..fournit les informations �...")
    Amicalement

  4. #4
    Membre exp�riment� Avatar de Bily.sdi
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    208
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 208
    Par d�faut
    utlise l'odbc pour commencer !

    panneau de configuration - Outils d'administration - ODBC

    tu ajoutes un aliase - driver access - tu indique ou se trouve la bd

    dans builder dans l'inspecteur d'objet dans dataset tu retrouvera cette
    aliase "celui que tu as cr�e "

    tu ajoute le composant Table - dbgrid - dataset !

    dbgrid pointe sur le dataset qui pointe sur table , poue le faire tu dois utliser
    la propriete datasource du composant dbgrid et dataset

    tu active la table via l'inspecteur d'objet " Activer=true " et
    sans compiler tu verras le contenu de ta table sur ta form dans le dbgrid;

    mais avant choisi le nom de la table acces dans la liste tablename du
    composant table !

    @+

  5. #5
    Membre �clair� Avatar de Mangacker
    Profil pro
    Inscrit en
    D�cembre 2006
    Messages
    452
    D�tails du profil
    Informations personnelles :
    �ge : 34
    Localisation : Suisse

    Informations forums :
    Inscription : D�cembre 2006
    Messages : 452
    Par d�faut
    merci pour vos infos mais chez moi (BDS2006) je n'ai pas de composant qui s'appelle DataSet. je n'ai que :
    TDataSetTableProducer
    TDataSetPageProducer
    TDataSetProvider

    donc je ne sais pas quoi utiliser
    tu ajoute le composant Table - dbgrid - dataset !
    TADOConnection --> TADOQuery --> TDataSet

    (--> signifie "..fournit les informations �...")
    merci de m'aider encore

  6. #6
    Membre chevronn�

    Profil pro
    Inscrit en
    Juin 2005
    Messages
    351
    D�tails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2005
    Messages : 351
    Par d�faut
    Toutes mes excuses:

    TADOTable ou TADOQuery sont des TDataSet (N'oublie pas de mettre la composante comme Active=True)

    Tu dois lier un TDataSource � l'un ou l'autre de ces �l�ments (propri�t� DataSet du DataSource)

    Puis lier les composantes de donn�es (TDBxxxx) au TDataSource (propri�t� DataSource du composant).

  7. #7
    Membre �clair� Avatar de Mangacker
    Profil pro
    Inscrit en
    D�cembre 2006
    Messages
    452
    D�tails du profil
    Informations personnelles :
    �ge : 34
    Localisation : Suisse

    Informations forums :
    Inscription : D�cembre 2006
    Messages : 452
    Par d�faut
    ne m'en veuillez pas mais un petiti exemple imag� avec les noms m'aiderait beaucoup
    merci

  8. #8
    Membre chevronn�

    Profil pro
    Inscrit en
    Juin 2005
    Messages
    351
    D�tails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2005
    Messages : 351
    Par d�faut
    Un exemple:

    Sur une fiche, tu cr�es 4 composantes:
    - TADOConnection
    - TADOTable
    - TDataSource
    - TDBGrid

    TADOConnection
    1) Avec un double-click sur le TADOConnection, tu cr��s la connection string vers ta base de donn�es Access.
    2) Tu d�finis la propri�t� "LoginPrompt=false" (sinon une bo�te de login appara�t � chaque connexion)

    TADOTable
    1) Aller chercher le nom du TADOConnection dans la combo pour la propri�t� "Connection"
    2) Propri�t� "TableName": s�lectionne une des tables de la base de donn�es dans le menu d�roulant
    3) Mettre la propri�t� "Active=true" (comme �a le composant ouvre tout de suite la table, sinon tu dois le faire depuis le programme avant de pouvoir lire les donn�es)

    TDataSource
    1) Aller chercher le nom du TADOTable dans la combo pour la propri�t� "DataSet"

    TDBGrid
    1) Aller chercher le nom du TADOSource dans la combo pour la propri�t� "DataSource"
    2) Par d�faut, toutes les colonnes s'affichent. Avec un double-click sur le composant, tu peux s�lectionner ou cr�er des colonnes

    Header (.h)
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    class TForm1 : public TForm
    {
    __published:	// IDE-managed Components
      TADOConnection *ADOConnection1;
      TADOTable *ADOTable1;
      TDataSource *DataSource1;
      TDBGrid *DBGrid1;
      void __fastcall DataSource1DataChange(TObject *Sender, TField *Field);
    private:	// User declarations
    public:		// User declarations
      __fastcall TForm1(TComponent* Owner);
    };
    Impl�mentation (.cpp)
    Rien de sp�cial

  9. #9
    Membre �clair� Avatar de Mangacker
    Profil pro
    Inscrit en
    D�cembre 2006
    Messages
    452
    D�tails du profil
    Informations personnelles :
    �ge : 34
    Localisation : Suisse

    Informations forums :
    Inscription : D�cembre 2006
    Messages : 452
    Par d�faut
    j'ai encore une derni�re question sur le sujet lorsque j'essaye de faire une requ�te SQL via BCB j'ai le message suivant


    j'ai essay� de changer les liens entre les objets mais quand j'essaye de mettre le TQuery->Active � true
    le message revient

    vous savez surement d'ou �a vient alors dites le moi svp

    @++

  10. #10
    Membre chevronn�

    Profil pro
    Inscrit en
    Juin 2005
    Messages
    351
    D�tails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2005
    Messages : 351
    Par d�faut
    Ton message d'erreur semble indiquer que tu cherches � te connecter � un autre type de base que MS Access...

    Quelle est la connectionstring que tu utilises ? (elle appara�t dans la propri�t� "ConnectionString" du composant TADOConnection)

  11. #11
    Membre �clair� Avatar de Mangacker
    Profil pro
    Inscrit en
    D�cembre 2006
    Messages
    452
    D�tails du profil
    Informations personnelles :
    �ge : 34
    Localisation : Suisse

    Informations forums :
    Inscription : D�cembre 2006
    Messages : 452
    Par d�faut
    la voici:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=K:\EMVs\ICH\103\_-Projets-_\Test base de données\DBTest.mdb;Mode=Share Deny None;Extended Properties="";Jet OLEDB:System database="";Jet OLEDB:Registry Path="";Jet OLEDB:Database Password="";Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False
    elle me para�t tr����s longue... mais elle a �t� faite automatiquement...

  12. #12
    Membre chevronn�

    Profil pro
    Inscrit en
    Juin 2005
    Messages
    351
    D�tails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2005
    Messages : 351
    Par d�faut
    Effectivement, c'est un sacr� morceau

    Essaye avec:

    Provider=Microsoft.Jet.OLEDB.4.0;Data Source=K:\EMVs\ICH\103\_-Projets-_\Test base de donn�es\DBTest.mdb;

    Ca devrait marcher tout aussi bien. Dis-moi si �a marche...

  13. #13
    Membre �clair� Avatar de Mangacker
    Profil pro
    Inscrit en
    D�cembre 2006
    Messages
    452
    D�tails du profil
    Informations personnelles :
    �ge : 34
    Localisation : Suisse

    Informations forums :
    Inscription : D�cembre 2006
    Messages : 452
    Par d�faut
    il y a toujours la m�me erreur

  14. #14
    Membre �clair� Avatar de Mangacker
    Profil pro
    Inscrit en
    D�cembre 2006
    Messages
    452
    D�tails du profil
    Informations personnelles :
    �ge : 34
    Localisation : Suisse

    Informations forums :
    Inscription : D�cembre 2006
    Messages : 452
    Par d�faut
    je la reposte

  15. #15
    Membre �clair� Avatar de Mangacker
    Profil pro
    Inscrit en
    D�cembre 2006
    Messages
    452
    D�tails du profil
    Informations personnelles :
    �ge : 34
    Localisation : Suisse

    Informations forums :
    Inscription : D�cembre 2006
    Messages : 452
    Par d�faut
    j'ai r��cris le chemin correct encore une fois en changeant l'objet et l'erreur c'est transform�e



    elle me parait plus coh�rente vu que maintenant le chemin vers ma BD est correcte dans le message d'erreur

  16. #16
    Membre �clair� Avatar de Mangacker
    Profil pro
    Inscrit en
    D�cembre 2006
    Messages
    452
    D�tails du profil
    Informations personnelles :
    �ge : 34
    Localisation : Suisse

    Informations forums :
    Inscription : D�cembre 2006
    Messages : 452
    Par d�faut
    est ce quelqun peut m'aider ???

  17. #17
    Membre �clair� Avatar de Mangacker
    Profil pro
    Inscrit en
    D�cembre 2006
    Messages
    452
    D�tails du profil
    Informations personnelles :
    �ge : 34
    Localisation : Suisse

    Informations forums :
    Inscription : D�cembre 2006
    Messages : 452
    Par d�faut
    j'ai refais mon projet de a jusqu'� Z et je n'ai plus l'erreur pourrais-tu me dire comment lier mon objet TADOQuery pour qu'il influence sur mon tableau

  18. #18
    Membre averti Avatar de renesouley
    Profil pro
    �tudiant
    Inscrit en
    Novembre 2006
    Messages
    38
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Novembre 2006
    Messages : 38
    Par d�faut
    Salut, si t�avais bien suivi les conseils de Patrick au 8�me post tu ne serras pas en train de parcourir ce long chemin.

    Si t�es pr�t prend ton crayon et up allons y�>
    I) la th�orie je te renvoie au post de Patrick 8�me .
    II) La pratique

    Sur ta fiche, tu dois d�poser ces 4 composantes:
    - ADOConnection (Composant ADO)
    - ADOTable (Composant ADO)
    - DataSource (Composant DATAAccess)
    - DBGrid (Composant DataConcontrols)

    II-1) selectionnes le composant ADOConnection
    Dans l�Inspecteur d�Objet tu vas modifier les propri�t�s de ADOconnection de la mani�re suivante
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    i) ADOConnection->ConnectingString=la chaine de connexion vers ta base de données.
    Esperons que t’as réussi cette connexion à ta BDD ; 
    ii) ADOConnection->LoginPrompt=false ;
    iii) ADOConnection->Connected=true ;
    II-2) selectionnes le composant ADOTable sur ta fiche
    Dans l�Inspecteur d�Objet,
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    i) ADOTable->Connection= ADOConnection1 ;
    ii) ADOTable->TableName= selectionnes une table de ta Base de données
    Sur ta fiche
    iii)un double-clic sur le composant ADOTable1 et une petite fenetre blanche s�ouvre
    iv) un clic droit sur la petite fenetre-> Add fields->tu selectionnes les champs voulus et OK.
    Tu reviens encore dans l�Inspecteur d�Objet et tu fais :
    v) ADOTable->Active= true ;

    II-3) s�lectionnes le composant DataSource
    Dans l�Inspecteur d�Objet, tu fais :
    i)
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    DataSource->Dataset=ADOTable1 ;
    II-4) s�lectionnes le composant DBGrid
    Dans l�Inspecteur d�Objet, tu fais :
    i)
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    DBGrig1->DataSource= DataSource1
    Par d�faut, toutes les colonnes s'affichent, bien sur que tu peux param�trer

    III)si tout a bien fonctionn� comme pr�vu tu devras ex�cuter ton programme et le DBGRID te dira tout.

    Si tu veux maintenant tout param�trer ou utiliser ADOQuery tu peux poster de nouveau, mais cette �tape est essentielle pour la suite des op�rations.
    Je me suis s�rement tromp� par endroit, mais �a doit aller, beaucoup de courage et lances toi.

    Soul

  19. #19
    Membre chevronn�

    Profil pro
    Inscrit en
    Juin 2005
    Messages
    351
    D�tails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2005
    Messages : 351
    Par d�faut
    D�sol�, j'�tais en d�placement pendant 2 jours sans internet.

    Bravo Soul, tr�s bonne explication.

    Mangacker, est-ce que cela t'a aid� � r�soudre ton probl�me ?

  20. #20
    Membre �clair� Avatar de Mangacker
    Profil pro
    Inscrit en
    D�cembre 2006
    Messages
    452
    D�tails du profil
    Informations personnelles :
    �ge : 34
    Localisation : Suisse

    Informations forums :
    Inscription : D�cembre 2006
    Messages : 452
    Par d�faut
    merci pour tes explications mais ma question n'�tait pas l�...
    j'avais d�j� r�ussi � afficher les diff�rentes colones de ma DB le probl�me se pose lorsque j'essaye d'utiliser le composant TADOQuery car je ne sais pas faire les liaisons avec CE composant

+ R�pondre � la discussion
Cette discussion est r�solue.
Page 1 sur 2 12 Derni�reDerni�re

Discussions similaires

  1. [AC-2010] Mise � jour base de donn�es Access depuis Excel
    Par NewUserAccess dans le forum Access
    R�ponses: 3
    Dernier message: 26/02/2015, 13h58
  2. Mise � jours base de donn�e Access depuis liste Excel
    Par Stepsbysteps dans le forum Excel
    R�ponses: 4
    Dernier message: 07/10/2013, 14h25
  3. [AC-2007] Base de donn�e access depuis feuille excel.
    Par le_sayan dans le forum VBA Access
    R�ponses: 6
    Dernier message: 13/06/2010, 10h19
  4. base de donn�es gdb depuis Access
    Par magictom42 dans le forum Connexion aux bases de donn�es
    R�ponses: 1
    Dernier message: 05/01/2007, 17h16
  5. Probleme base de donn�es Access et Builder C++
    Par Syrass dans le forum C++Builder
    R�ponses: 4
    Dernier message: 28/02/2006, 10h30

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