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 :

ADO et base de donn�es Access


Sujet :

C++Builder

  1. #1
    Membre confirm�
    Profil pro
    Concepteur traitement de signal
    Inscrit en
    Ao�t 2004
    Messages
    192
    D�tails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activit� : Concepteur traitement de signal
    Secteur : High Tech - �lectronique et micro-�lectronique

    Informations forums :
    Inscription : Ao�t 2004
    Messages : 192
    Par d�faut ADO et base de donn�es Access
    Bonjour,

    J'aurais voulu savoir si les composants ADO de BB6 ne s'utilisent qu'avec des bases de donn�es Access ? Parce que je n'ai pas access sur mon ordi et ne compte pas l'avoir non plus, mais je voudrais pouvoir d�ployer mon programme sur n'importe quel ordi sans avoir � utiliser BDE puisqu'il n'est pas install� sur toutes les machines, alors que les outils pour acc�der aux bases de donn�es access sont fournis sur windows ....

    Par ailleurs, connaitriez-vous un moyen de cr�er une base de donn�es Access sans Access ??

    Merchi !

  2. #2
    R�dacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par d�faut
    Salut androz
    Regarde dans la FAQ il est possible de creer une base de donnees type Access sans Access

  3. #3
    Membre confirm�
    Profil pro
    Concepteur traitement de signal
    Inscrit en
    Ao�t 2004
    Messages
    192
    D�tails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activit� : Concepteur traitement de signal
    Secteur : High Tech - �lectronique et micro-�lectronique

    Informations forums :
    Inscription : Ao�t 2004
    Messages : 192
    Par d�faut
    Salut Blondelle,

    J'avais vu la FAQ oui, mais en fait j'ai pas trop compris l'essentiel, � savoir :

    Pour cela, r�cup�rer la odbccp32.dll (32bits), utiliser un petit IMPLIB pour faire le odbccp32.lib, et lier tout �a au projet:
    Comment on fait "un petit IMPLIB" ?? J'ai commenc� � chercher un peu, et j'ai rien trouv� de concluant. Sous Borland, je suis all� dans Project->Import Type Library , mais je n'ai pas trouv� le dll en question. J'ai donc essay� de l'ajouter, mais l� j'ai un message d'erreur.... pfff

    J'ai trouv� sous Vista l'administrateur de source de donn�es ODBC, donc j'ai pu localiser le dll en question. Il me reste � trouver le moyen d'en faire un *.lib avec IMPLIB et l�... je coince.

  4. #4
    Membre confirm�
    Profil pro
    Concepteur traitement de signal
    Inscrit en
    Ao�t 2004
    Messages
    192
    D�tails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activit� : Concepteur traitement de signal
    Secteur : High Tech - �lectronique et micro-�lectronique

    Informations forums :
    Inscription : Ao�t 2004
    Messages : 192
    Par d�faut
    Ok, comme souvent, je trouve deux minutes apr�s avoir post�....

    suffit d'utiliser une commande en ligne

    IMPLIB c:\librairie.lib c:\windows\system32\odbccp32.dll

    et voilou, seulement, si je fais un b�te copier-coller des trois lignes de code de la FAQ, j'ai un message d'erreur comme quoi il connait pas la fonction SQLConfigDataSource. On dirait que le link vers la librairie s'est pas faite ou bien j'ai oubli� quelque chose ?? En plus, ce qui me confirme que y'a un autre souci, c'est que je viens de me rendre compte que la librairie existait d�j� dans mon r�pertoire de librairies Borland ! donc pas besoin de la refaire avec IMPLIB....

  5. #5
    R�dacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par d�faut
    Je ne comprend pas ton probleme, voici le code de la FAQ pour creer une base type Access
    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
     
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
        // ne pas oublier d'inclure #include <comobj.hpp>
        Variant vADO;
        AnsiString Filename = "C:\\Documents and Settings\\blondelle\\Mes documents\\maBdd2.mdb";
        AnsiString provider = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" +Filename+";";
        if (FileExists(Filename.c_str()))
    {
    MessageBox(Handle,"Ce fichier existe déja!" ,"ATTENTION",MB_OK|MB_ICONWARNING ) ;
    vADO = Unassigned;
    return;
    }
        vADO = Variant::CreateObject("ADOX.Catalog");
        vADO.OleFunction("create", provider.c_str());
        // on termine
        vADO = Unassigned;
    }

  6. #6
    Membre confirm�
    Profil pro
    Concepteur traitement de signal
    Inscrit en
    Ao�t 2004
    Messages
    192
    D�tails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activit� : Concepteur traitement de signal
    Secteur : High Tech - �lectronique et micro-�lectronique

    Informations forums :
    Inscription : Ao�t 2004
    Messages : 192
    Par d�faut
    Mon probl�me, c'est que je n'utilisais pas la bone FAQ

    Par contre, j'ai quand m�me un souci, je r�cup�re une exception � l'appel de la OleFunction

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    vADO.OleFunction("create", provider.c_str());
    avec comme seul message : "Une exception s'est produite". La belle affaire. De plus, je ne suis pas sur de comprendre ce que sont les Variant... me reste du boulot on dirait bien

  7. #7
    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
    Salut,

    En fait tu peux utiliser une base access sans avoir Access install� sur le PC des clients car elles sont g�r�es par MDAC via JET qui sont install�s par d�faut sur les machines XP. C'est ce que fais avec mon application.

    En revanche je ne sais pas si JET et MDAC sont install�s sur windows 7, je n'ai pas encore fais les tests

  8. #8
    Membre confirm�
    Profil pro
    Concepteur traitement de signal
    Inscrit en
    Ao�t 2004
    Messages
    192
    D�tails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activit� : Concepteur traitement de signal
    Secteur : High Tech - �lectronique et micro-�lectronique

    Informations forums :
    Inscription : Ao�t 2004
    Messages : 192
    Par d�faut
    salut Patrick

    Oui je sais que les clients sont install�s sur windows, c'est exactement pour �a que je veux changer mes BD paradox en BD access.... Seulement pour l'instant j'y arrive pas

    J'ai toujours cette exception que je ne sais pas comment r�gler

  9. #9
    R�dacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par d�faut
    Si tu recupere une exception sur "create" c'est que le chemin n'est pas correcte, par exemple un repertoire qui n'est pas cree

  10. #10
    Membre confirm�
    Profil pro
    Concepteur traitement de signal
    Inscrit en
    Ao�t 2004
    Messages
    192
    D�tails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activit� : Concepteur traitement de signal
    Secteur : High Tech - �lectronique et micro-�lectronique

    Informations forums :
    Inscription : Ao�t 2004
    Messages : 192
    Par d�faut
    Salut Blondelle !

    Si tu recupere une exception sur "create" c'est que le chemin n'est pas correcte, par exemple un repertoire qui n'est pas cree
    Ah ben ouais gad' don' �a ! On dirait bien que c'est �a....�trange tout de m�me puisque j'ai fait un copier-coller de ma barre d'adresse M'enfin bon c'est pas grave, �a arrive souvent qu'un petit red�marrage de BB6 me r�solve des probl�mes. Je sais pas d'o� �a vient, mais maintenant, je sais que si j'ai un probl�me r�current alors qu'avant j'en avais pas, le red�marrage est presque tout le temps LA solution.

    Merci encore Blondelle pour ton aide plus que pr�cieuse !!!

  11. #11
    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
    Je ne peux malheureusement pas t'aider plus car je ne connais pas ces composantes...

    Moi j'utilise celles de Borland: TADOConnection et TADOQuery sans passer par une librairie ext�rieure et uniquement en consultation.

  12. #12
    Membre confirm�
    Profil pro
    Concepteur traitement de signal
    Inscrit en
    Ao�t 2004
    Messages
    192
    D�tails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activit� : Concepteur traitement de signal
    Secteur : High Tech - �lectronique et micro-�lectronique

    Informations forums :
    Inscription : Ao�t 2004
    Messages : 192
    Par d�faut
    Hello, encore moi

    Finalement, j'arrive � cr�er une base de donn�es Acces. Maintenant je veux la remplir

    Dans un premier temps, je suis la FAQ ADO et je me connecte � ma base de donn�es fraichement cr��e. No soucy, seulement ma base de donn�es est vide. Il faut maintenant que je la remplisse.

    J'ai essay� de mettre des nouveaux champs dans ma table :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    ADOTable1->FieldDefs->Add("Champ1",ftFloat,0,false);
    Mais le compilateur aime pas �a, FieldDefs n'est pas accessible.

    J'ai bien voulu essayer de suivre la FAQ :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
     
      AnsiString Nom = "MATABLE";
      ADOQuery1->Connection = ADOConnection1; // Lien avec la Connection
      ADOQuery1->SQL->Clear();
      ADOQuery1->SQL->Add((String)"CREATE TABLE "+Nom+" (MONCHAMP1 INTEGER, MONCHAMP2 STRING)");
      ADOQuery1->ExecSQL();
    mais je ne comprends pas comment je fais le lien vers ma table ADOTable1 ?

    Et pourquoi il ne m'est pas possible tout simplement de pointer la propri�t� ADOTable1->TableName vers la base de donn�es Access cr��e ?

    Bref je suis perdu


    Le but, pour ne pas le perdre de vue, est simplement de cr�er une base de donn�es Access et d'afficher la table (il n'y en a qu'une dans ma base de donn�es) dans une DBGrid. Avec les bases de donn�es Paradox c'�tait ultra simple, je cr�ais ma base avec le prog fourni par Borland, je mettais un TDataSource et un TTable sur ma fiche, je liais le tout et j'�tais en buisiness...

  13. #13
    R�dacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738

  14. #14
    Membre confirm�
    Profil pro
    Concepteur traitement de signal
    Inscrit en
    Ao�t 2004
    Messages
    192
    D�tails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activit� : Concepteur traitement de signal
    Secteur : High Tech - �lectronique et micro-�lectronique

    Informations forums :
    Inscription : Ao�t 2004
    Messages : 192
    Par d�faut
    Merci Blondelle pour ces suggestions...

    Je vais cependant continuer � chercher un peu. J'aimerais vraiment pourvoir r�ussir � utiliser grosso modo les m�mes outils qu'avec une base Paradox mais en utilisant leur version ADO sans faire appel � des requetes SQL ou des commandes comme c'est le cas dans les exemples que tu me donnes. Pour moi, le passage de Paradox � Access sera alors moins difficile

    Je n'aime pas refaire au complet des choses que j'ai d�j� plus ou moins faites. J'aime bien reprendre des bouts d'anciens codes, am�liorer ce que j'ai d�j� fait... car comme disait une de mes profs de maths en son temps : "on se ram�ne au cas pr�c�dent..."

    Si j'y arrive je vous fais signe !

Discussions similaires

  1. R�ponses: 0
    Dernier message: 28/08/2012, 17h41
  2. R�ponses: 2
    Dernier message: 10/02/2011, 12h56
  3. R�ponses: 15
    Dernier message: 25/10/2004, 11h50
  4. [D�ploiement]Base de donn�e Access
    Par Giovanny Temgoua dans le forum Bases de donn�es
    R�ponses: 9
    Dernier message: 09/08/2004, 20h48
  5. R�ponses: 3
    Dernier message: 11/06/2002, 12h18

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