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 :

Erreur UPDATE! je ne la vois pas!


Sujet :

C++Builder

  1. #1
    Membre confirmé
    Inscrit en
    Juillet 2010
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 71
    Par défaut Erreur UPDATE! je ne la vois pas!
    Bonjour,
    j'ai mis le code ci dessus dans la méthode onclick d'un bouton sous c++ builder 2007 ;à l'exécution je reçois l'erreur : erreur de syntaxe dans l'expression de UPDATE ! Mais j'arrive pas à detecter cette soit disons erreur pourriez vous m'aider à voir cette erreur ??
    Merci
    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
    TDate date;
    date=Date();
    ADOConnection1->Open();
    ADOQuery1->SQL->Clear();
    ADOQuery1->SQL->Add("UPDATE Mutations");
    ADOQuery1->SQL->Add("SET D_Transm_IDS/QE/MT=:PARAM_TMEDICAL, D_LastUpdate=:PARAM_UPD");
    ADOQuery1->SQL->Add("WHERE Matricule=:PARAM_MATRICULE");
    ADOQuery1->Parameters->ParamByName("PARAM_TMEDICAL")->Value= TDateTime(Edit2->Text, TDateTime::Date);
    ADOQuery1->Parameters->ParamByName("PARAM_MATRICULE")->Value= StrToInt(frmum->Edit_matricule->Text);
    ADOQuery1->Parameters->ParamByName("PARAM_UPD")->Value= date;
    ADOQuery1->Prepared;
    ADOQuery1->ExecSQL();
    ADOQuery1->Close();
    Btsave1->Enabled=false;
    ADOConnection1->Close();

  2. #2
    Membre éclairé
    Homme Profil pro
    Consultant technique
    Inscrit en
    Juillet 2002
    Messages
    519
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2002
    Messages : 519
    Par défaut
    Je ne sais pas, je n'ai jamais utilisé ADO mais déjà la ligne suivante ne sert à rien :
    En effet, ce n'est pas une fonction puisqu'il n'y a pas de parenthèses.
    Ensuite, si c'est une propriété, il ne se passe rien.

    A priori, tu as l'air d'utiliser une requête SQL pour faire une mise à jour puis ensuite tu met des valeurs à des champs ou des paramètres ?
    Il ne faut pas utiliser soit l'un ou soit l'autre ?

    Normalement, tu peux faire ta mise à jour en SQL sans rien d'autre.

  3. #3
    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 nezhaaem
    Tu positionne ton curseur sur " Prepared " de la ligne " ADOQuery1->Prepared; " tu appuie sur la touche de fonction F1 et l'aide en ligne va te proposer une liste tu choisi celle qui correspond a " ADOQuery1->Prepared; " tu aura les explications et un exemple

  4. #4
    Membre émérite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2005
    Messages
    401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 401
    Par défaut
    Hello,

    D_Transm_IDS/QE/MT : C'est correct pour un nom de champ, ça ??
    Si c'est le cas, essaye de l'encadrer par des [..]:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ADOQuery1->SQL->Add("SET [D_Transm_IDS/QE/MT]=:PARAM_TMEDICAL, D_LastUpdate=:PARAM_UPD");
    Et je me permets de rajouter une couche pour le Prepared...

  5. #5
    Membre confirmé
    Inscrit en
    Juillet 2010
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 71
    Par défaut
    Merci beaucoup pour votre aide
    pour la propriété prepared je l'utilise de cette façon dans d'autre requete et ça donne pas d'erreur (prepared;<=>prepared=true;)
    pour les noms des champs ils sont acceptés dans access
    je vais essayé de mettre entre []
    merci

  6. #6
    Membre confirmé
    Inscrit en
    Juillet 2010
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 71
    Par défaut
    voilà j'ai essayéles [] et l'erreur cette fois est qu'il y tres peu de parametred.4 attendus

    ça veut dire???

    je viens de changé le nom des champs(IDS/QE/MT devient IDSQEMT)
    mias ça donne la meme erreur :
    tres peu de parametred.4 attendus

    je fais quoi maintenant!

  7. #7
    Membre émérite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2005
    Messages
    401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 401
    Par défaut
    Hello,

    Peut-être essayer un truc du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for (int i=0; i<ADOQuery1->Parameters->Count; i++)
    {
      TParameter* p=ADOQuery1->Parameters->Items[i];
      ShowMessage(p->Name);
    }
    histoire de trouver l'intrus.... (code non testé)
    pour la propriété prepared je l'utilise de cette façon dans d'autre requete et ça donne pas d'erreur (prepared;<=>prepared=true; )
    On ne dit pas que ça ne marche pas... C'est juste que ça ne sert à rien... Le code suivant non plus ne donne pas d'erreur, pourtant il ne sert strictement à rien:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    bool toto=true;
    toto;
    true;
    false;
    Pour s'amuser (!):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ADOQuery1->Prepared;
    if (ADOQuery1->Prepared)
      ShowMessage("Prepared; OK");
    ADOQuery1->Prepared = true;
    if (ADOQuery1->Prepared)
      ShowMessage("Prepared = true; OK");
    Pour terminer: prepared; <=> prepared == true;

  8. #8
    Membre confirmé
    Inscrit en
    Juillet 2010
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 71
    Par défaut
    j'ai utilisé cette boucle pour verifier le nombre de parametres ça me donne 3
    mais l'erreur persiste toujours : 4 attendus!!!

    c'est quoi ça ?

    ce qui m'enerve encore c'est que j'utilise la meme structure pour un autre bouton afin de mettre à jours d'autres champs et ça marche bien

    j'ai meme fais du copier coller de la requete et changé les noms des champs et du TEdit seulement

    je n'y comprends rien!!!


    ça y est j'ai resolu le probleme
    ça venait du nom du champs dans la base de données


    Merci pour vous tous vous etes formidables

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. update error code 1093 .. vois pas pourquoi
    Par maysa dans le forum Requêtes
    Réponses: 2
    Dernier message: 20/10/2009, 11h55
  2. Erreur grossière mais je ne vois pas
    Par Oxygn44 dans le forum Langage
    Réponses: 5
    Dernier message: 10/11/2008, 10h36
  3. Beuggouillage...je vois pas l'erreur
    Par Force_Rouge dans le forum C
    Réponses: 3
    Dernier message: 29/03/2006, 11h12
  4. Clé etrangere erreur 150 mais je vois pas l'erreur
    Par HurtMarley dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 03/05/2005, 16h57
  5. Je vois pas d'où vient mon erreur!! Aidez moi SVP
    Par liliboms dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 04/04/2005, 08h25

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