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 :

[ADOQuery] Multiple INSERT


Sujet :

C++Builder

  1. #1
    Membre exp�riment�
    Avatar de lanonyme
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    229
    D�tails du profil
    Informations personnelles :
    �ge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 229
    Par d�faut [ADOQuery] Multiple INSERT
    Bonjour,

    J'ai de nouveau un probleme avec le composant ADOQuery.

    Pour effectuer des SELECT, pas de probleme

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     ADOQuery->SQL->Clear() ;
    // activity
     ADOQuery->SQL->Add("INSERT INTO Activity VALUES(" + IntToStr(IdUtilisateur) + "," + LETpsAvtAvertissement->Text + ")");
     // Event
     for (i=0; i< CLBEvent->Count; i++)
     {
        ADOQuery->SQL->Add("INSERT INTO Event VALUES('" + IntToStr(IdUtilisateur) + "," + IntToStr(i) + ",'" + BoolToStr(CLBEvent->Checked[i],true) + "')") ;
     }
    J'efface bien les donn�es de mon query avant de rajouter, tout les requetes d'insertions.

    Ensuite je l'execute de la facon suivante :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
     
        ADOQuery->Connection = ADOConnection ;
         try
         {
            ADOQuery->Prepared = true;
            ADOQuery->ExecSQL(); // Open();
         }
    J'utilisai le Open() pour mes selections, mais apparement il faut utiliser ExecSQL() pour les insert.

    L'erreur que j'obtient est erreur de syntaxe SQL... est ce que cela vient du fait que j'ajoute plusieurs instructions a la suite ?

    EDIT:
    Apparement, l'execution d'un insert unique marche, alors ma question devient:
    Comment faire pour en executer plusieurs ?

    lanonyme

  2. #2
    Expert confirm�

    Avatar de pottiez
    Homme Profil pro
    D�veloppeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activit� : D�veloppeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par d�faut
    Citation Envoy� par lanonyme
    Bonjour,

    J'ai de nouveau un probleme avec le composant ADOQuery.

    Pour effectuer des SELECT, pas de probleme

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     ADOQuery->SQL->Clear() ;
    // activity
     ADOQuery->SQL->Add("INSERT INTO Activity VALUES(" + IntToStr(IdUtilisateur) + "," + LETpsAvtAvertissement->Text + ")");
     // Event
     for (i=0; i< CLBEvent->Count; i++)
     {
        ADOQuery->SQL->Add("INSERT INTO Event VALUES('" + IntToStr(IdUtilisateur) + "," + IntToStr(i) + ",'" + BoolToStr(CLBEvent->Checked[i],true) + "')") ;
     }
    J'efface bien les donn�es de mon query avant de rajouter, tout les requetes d'insertions.

    Ensuite je l'execute de la facon suivante :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
     
        ADOQuery->Connection = ADOConnection ;
         try
         {
            ADOQuery->Prepared = true;
            ADOQuery->ExecSQL(); // Open();
         }
    J'utilisai le Open() pour mes selections, mais apparement il faut utiliser ExecSQL() pour les insert.

    L'erreur que j'obtient est erreur de syntaxe SQL... est ce que cela vient du fait que j'ajoute plusieurs instructions a la suite ?

    EDIT:
    Apparement, l'execution d'un insert unique marche, alors ma question devient:
    Comment faire pour en executer plusieurs ?

    lanonyme
    Tu ne peut pas en executer plusieurs en meme temps,
    joute simplement le code de ta deuxieme zone dans la boucle de la premiere, comme ceci :
    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
    19
    20
    21
    22
     
      ADOQuery->SQL->Clear() ;
      // activity
      ADOQuery->SQL->Add("INSERT INTO Activity VALUES(" + IntToStr(IdUtilisateur) + "," + LETpsAvtAvertissement->Text + ")");
      ADOQuery->Connection = ADOConnection ;
      try
      {
          ADOQuery->Prepared = true;
          ADOQuery->ExecSQL(); // Open();
      }
      // Event
      for (i=0; i< CLBEvent->Count; i++)
      {
          ADOQuery->SQL->Clear() ;
          ADOQuery->SQL->Add("INSERT INTO Event VALUES('" + IntToStr(IdUtilisateur) + "," + IntToStr(i) + ",'" + BoolToStr(CLBEvent->Checked[i],true) + "')") ;
         ADOQuery->Connection = ADOConnection ;
         try
         {
             ADOQuery->Prepared = true;
             ADOQuery->ExecSQL(); // Open();
         }
      }

  3. #3
    Membre exp�riment�
    Avatar de lanonyme
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    229
    D�tails du profil
    Informations personnelles :
    �ge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 229
    Par d�faut
    Merci pottiez, �a marche comme �a

    Et puis c'est pas beaucoup plus compliqu�

    lanonyme

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [Cobol / DB2] Multiple insert et null value
    Par punkoff dans le forum DB2
    R�ponses: 3
    Dernier message: 06/01/2010, 09h47
  2. Multiples INSERT dans deux tables diff�rentes
    Par pcsystemd dans le forum D�buter
    R�ponses: 2
    Dernier message: 16/06/2009, 07h50
  3. Upload multiple + insert du nom dans MySQL
    Par abrioit dans le forum Langage
    R�ponses: 6
    Dernier message: 09/01/2009, 11h43
  4. Probleme de multiple insert sous ibatis
    Par hellipse dans le forum Persistance des donn�es
    R�ponses: 0
    Dernier message: 25/08/2008, 03h28
  5. [Tableaux] seleted multiple insert puis update
    Par digger dans le forum Langage
    R�ponses: 2
    Dernier message: 10/07/2006, 15h32

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