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

Bases de données Delphi Discussion :

Problème de UPDATE avec (probablement syntaxe)


Sujet :

Bases de données Delphi

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2006
    Messages : 39
    Points : 28
    Points
    28
    Par défaut Problème de UPDATE avec (probablement syntaxe)
    Bonjour à tous,

    je m'adresse encore à vous pour en savoir toujours plus !

    j'ai un problème avec une requête UPDATE dans uen table Access 2003
    j'ai un bout de code qui construit la requete du type
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "UPDATE TableDossiers SET annee = 2000 AND modele = xxx WHERE Id_Dossier = 5"
    mais ceci ne fonctionne que si je ne change qu'une seule valeur :s Pourriez vous me donner la syntaxe d'un update permettant d'imbriquer plusieurs instructions ?

    Je n'ai pas de message d'erreur SQL et je suis via ODBC

    je vous met le code en entier pour info si jamais

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    if edit6.text <> ''  then
    begin
        addClauseWhere2 := addClauseWhere2 + ' annee = ' + edit6.text +' AND ';
        flag2 := true;
    end;
     
    if edit9.text <> ''  then
    begin
        addClauseWhere2 := addClauseWhere2 + ' modele = ' + QuotedStr(edit9.text) +' AND ';
        flag2 := true;
    end;
     
    if edit10.text <> '' then
    begin
        addClauseWhere2 := addClauseWhere2 + ' langue = ' + QuotedStr(edit10.text) +' AND ';
        flag2 := true;
    end;
    if edit11.text <> '' then
    begin
        addClauseWhere2 := addClauseWhere2 + ' ref = ' + QuotedStr(edit11.text) +' AND ';
        flag2 := true;
    end;
     
    if edit12.text <> '' then
     
    begin
        addClauseWhere2 := addClauseWhere2 + ' Quantite = ' + edit12.text +' AND ';
        flag2 := true;
    end;
     
    if edit13.text <> '' then
    begin
        addClauseWhere2 := addClauseWhere2 + ' NomDossiers = ' + QuotedStr(edit13.text) +' AND ';
        flag2 := true;
    end;
     
    if edit14.text <> '' then
    begin
        addClauseWhere2 := addClauseWhere2 + ' Bureau = ' + QuotedStr(edit14.text) +' AND ';
        flag2 := true;
    end;
     
    Application.ProcessMessages;
     
    if flag2 = true then
       begin
         SQLQuery1.Active:=false;
         AddClauseWhere2 := copy(addclauseWhere2,0,length(addclauseWhere2)-5);
         // supprime les 5 dernieres Lettres 'AND' et si aucune combo le 'Where'
         MaRequete2:= 'UPDATE TableDossiers SET ('+addclauseWhere2+') WHERE Id_Dossier = '+edit1.text ;
         SQLQuery1.SQL.Clear;
         SQLQuery1.SQL.Text:= MaRequete2 ;
         // permet d'effectuer des modifs dans la DB
         SQLQuery1.ExecSQL;
         ListBox8.Items.Clear;
         ShowMessage('Modifs effectuées avec succès');
         edit1.text := '';
         flag2 := false;
       end
       else
         begin
           if (edit6.text <> '') and (edit9.text <>'') and (edit10.text <>'') and (edit11.text <>'') and (edit12.text <>'') and (edit13.text <>'') and (edit14.text <>'') then
           begin
             SQLQuery1.Active:=False;
             SQLQuery1.SQL.Clear;
             AddClauseWhere2 := copy(addclauseWhere2,0,length(addclauseWhere2)-5);
             // supprime les 5 dernieres Lettres 'AND' et si aucune combo le 'Where'
             MaRequete2:= 'INSERT INTO TableDossiers (annee,modele,langue,ref,quantite,NomDossiers,Bureau) VALUES ('+ edit6.text +','+ QuotedStr(edit9.text) +','+ QuotedStr(edit10.text) +','+ QuotedStr(edit11.text) +','+ (edit12.text) +','+ QuotedStr(edit13.text) +','+ QuotedStr(edit14.text)+')';
             //
             SQLQuery1.SQL.Text:= MaRequete2 ;
             // permet d'effectuer des modifs dans la DB
             //SQLQuery1.Active:=True;
             //SQLQuery1.First;
             SQLQuery1.ExecSQL;
            //ListBox8.Items.Clear;
             ShowMessage('Ajout effectué avec succès');
           end
           else
             showmessage ('Un ou des champ(s) ne sont pas remplis');
         end;
     
    RechargeComboBox ();
    ListBoxDisabled ();
    end;
    meric de votre aide précieuse !

    inc002

  2. #2
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    UPDATE LA_Table SET
      MOnChamp = MaValeur,
      MonChamp2 = Mavaleur2
    WHERE
      MonChamp3 = MaValeur3 and MonChamp4 = MaValeur4

    Petite remarque en passant : Renomme tes TEdit de manière significative, car si un jour quelqu'un passe dérriere toi, je le plein fortement pour la lecture et modification qu'il aura à faire.
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2006
    Messages : 39
    Points : 28
    Points
    28
    Par défaut
    il suffisait de demander... Merci beaucoup !

    J'ai beaucoup cherché mais pas de doute sur la syntaxe :s merci encore

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

Discussions similaires

  1. [Débutant] problém de Update avec c3
    Par frenshover dans le forum C#
    Réponses: 1
    Dernier message: 26/07/2013, 11h09
  2. [MySQL] Problème : requete UPDATE avec '&' à insérer
    Par Figno dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 28/10/2011, 04h37
  3. Réponses: 9
    Dernier message: 13/03/2010, 10h38
  4. problème d'update avec concaténation
    Par Invité dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 29/11/2005, 16h55
  5. problème update avec sous requetes
    Par stoz dans le forum Langage SQL
    Réponses: 6
    Dernier message: 12/10/2005, 16h44

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