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 :

Utilisation des composants ADO


Sujet :

C++Builder

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    47
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 47
    Par d�faut Utilisation des composants ADO
    Bonjour ,

    J'utilise les composants ADO de Builder dans un programme qui g�re une base de donn�e Access , je dois effectuer un certain nombre d'op�ration sur cette base (Afficher, Ins�rer , Modifier...) .

    J'ai commenc� � utiliser les composants tel que : ADOConnection , ADOQuery,
    ADODataSet ...
    Pour pouvoir �crire dans la base de donn�e mais je ne sais pas si ces composants conviennent ou si il faut en ajouter d'autres .

    Par exemple : une des fonctions de mon programme doit permettre � l'utilisateur de rentrer une nouvelle personne dans la base de donn�e :

    ADOQueryNouvPerson->SQL->Add("INSERT INTO tblPersonnel (Nom,Prenom,Service) ");
    ADOQueryNouvPerson->SQL->Add("VALUES (: ParamNomNouvPerson,: ParamPrenomNouvPerson ,: ParamService)");

    ADOQueryNouvPerson->Parameters->Items[0]->AsString = EdtNouvNom->Text;

    Explication :

    tblPersonne est une des tables compos�e de 3 champs (Nom,Prenom,Service)
    ": ParamNomNouvPerson..."repr�sentent les param�tres entr� par l'utilisateur
    (":" indique qu'il s'agit de param�tre).
    Et la derni�re ligne indique au programme que le 1er param�tre (Items[0]) se trouve dans une boite de dialogue (EdtNouvNom->Text) (cette ligne se r�p�te 3 fois car il y a 3 param�tres).

    Lors de l'execution j'obtient une erreur au niveau de cette derni�re ligne :
    [C++ Erreur] fencreerperson.cpp(33): E2316 'AsString' n'est pas un membre de 'TParameter'.

    Voil� , je pense que le probl�me vient des param�tres mais quelques explications seraient sympa.

  2. #2
    Membre �prouv�
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifi�)
    Inscrit en
    D�cembre 2004
    Messages
    2 059
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 54
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activit� : OPNI (Objet Programmant Non Identifi�)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : D�cembre 2004
    Messages : 2 059
    Par d�faut
    Bonjour,
    N'est ce pas plut�t quelquechose comme :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    Parameters->Items[0]->Value;
    qu'il faudrait essayer ?

    @ +

  3. #3
    Membre �clair� Avatar de BOUBOU81
    Profil pro
    system integrator
    Inscrit en
    Juin 2004
    Messages
    358
    D�tails du profil
    Informations personnelles :
    Localisation : Allemagne

    Informations professionnelles :
    Activit� : system integrator

    Informations forums :
    Inscription : Juin 2004
    Messages : 358
    Par d�faut
    Moi je dirai de tester ceci :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    ADOQueryNouvPerson->Parameters->ParamByName(ParamNomNouvPerson)->Value=EdtNouvNom->Text;

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    47
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 47
    Par d�faut
    Salut

    Merci BOUBOUB81 pour ta r�ponse elle convient parfaitement .

    Maintenant j'ai un autre probl�me concernant une requ�te SQL , une des fonctions du programme est la mise � jour du table (tblConsommation) lorsque l'utilisateur souhaite retirer un produit du stock , on lui demande un certain nombre de renseignement : son nom, pr�nom, service auquel il appartient , le nom du produit qu'il veut retirer, sa quantit� et la date du retrait .En claire il y a 6 champs dans cette table (tblConsommation) le code est donc :

    ADOQuerySortieStock->SQL->Add("INSERT INTO tblConsommation (Nom,Prenom,Service,Produit,Quantite,Date) ");
    ADOQuerySortieStock->SQL->Add("VALUES (:ParamNom,: ParamPrenom,: ParamService,:ParamNomProduit,:ParamStockMin,:ParamDate)");

    ADOQuerySortieStock->Parameters->ParamByName("ParamNom")->Value = DBLookupComboBoxProdSorti->Text ;
    ADOQuerySortieStock->Parameters->ParamByName("ParamPrenom")->Value = DBLookupComboBoxPourQuiNom->Text ;
    ADOQuerySortieStock->Parameters->ParamByName("ParamService")->Value = DBLookupComboBoxPrenom->Text ;
    ADOQuerySortieStock->Parameters->ParamByName("ParamNomProduit")->Value = DBLookupComboBoxService->Text ;
    ADOQuerySortieStock->Parameters->ParamByName("ParamStockMin")->Value = ComboBoxQuantiteSortie->Text ;
    ADOQuerySortieStock->Parameters->ParamByName("ParamDate")->Value = EdtDateSortieStock->Text ;

    J'obtient l'erreur suivante :
    Le projet ... � provoqu� une classe d'exception EOleException avec le
    messsage "Erreur de syntaxe dans l'instruction INSERT INTO"...

    Je ne trouve pas l'erreur alors svp un petit coups de main serait sympa.
    A+

  5. #5
    Membre �clair� Avatar de BOUBOU81
    Profil pro
    system integrator
    Inscrit en
    Juin 2004
    Messages
    358
    D�tails du profil
    Informations personnelles :
    Localisation : Allemagne

    Informations professionnelles :
    Activit� : system integrator

    Informations forums :
    Inscription : Juin 2004
    Messages : 358
    Par d�faut
    ce n'est parce tu as un de tes champs de saisie qui est vide.
    le query avec le quel tu fais ta requ�te n'est pas le m�me
    que celui lier au DBLookupComboBox

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    47
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 47
    Par d�faut
    Je ne comprends pas ce que tu dis , mes DBLookupComboBox ne sont pas li�s � des Query mais � des Table.

  7. #7
    Membre �clair� Avatar de BOUBOU81
    Profil pro
    system integrator
    Inscrit en
    Juin 2004
    Messages
    358
    D�tails du profil
    Informations personnelles :
    Localisation : Allemagne

    Informations professionnelles :
    Activit� : system integrator

    Informations forums :
    Inscription : Juin 2004
    Messages : 358
    Par d�faut
    Ton DBLookupComboBox est li� a ton DataSource je pense et qui est li�
    a un Query qui a un ensemble de donn�es de ta table. non?

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    47
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 47
    Par d�faut
    Chaque DBLookupComboBox est li� � un DataSource qui lui est li� � un Table ,
    on retrouve cette structure 4 fois dans mon programme (puisqu'il y a 4 DBLookupComboBox).

    En qui concerne mon composant Query , il est li� � un DataSource le probl�me c'est que je ne peut pas li� mon DataSource � mon Query , j'ai aussi un composant DataSet qui est aussi li� au DataSource.
    En ce qui concerne ce composant (DataSet) je ne sais pas trop comment m'en servir mais c'est le seul �quivalent au DataBase de BDE que j'ai trouv� dans les composants ADO.

Discussions similaires

  1. des tuto sur l'utilisation des composant ado
    Par kroma23 dans le forum Bases de donn�es
    R�ponses: 1
    Dernier message: 12/11/2008, 08h51
  2. [JSF] Utilisation des composants
    Par Gob4 dans le forum JSF
    R�ponses: 5
    Dernier message: 07/03/2006, 12h27
  3. [SGBD][ADO] Utilisation des composants ADO
    Par Teb dans le forum Delphi .NET
    R�ponses: 2
    Dernier message: 22/08/2005, 15h33
  4. utilisation des composants d'aide � la d�cision
    Par karim2005 dans le forum Bases de donn�es
    R�ponses: 1
    Dernier message: 08/07/2005, 13h36
  5. Optimisation temps d'acc�s Bdd des composants ADO
    Par Creenshaw dans le forum Bases de donn�es
    R�ponses: 14
    Dernier message: 07/06/2005, 17h09

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