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 :

faire un INSERT+UPDATE+SELECT d'un coup


Sujet :

Bases de données Delphi

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 166
    Points : 96
    Points
    96
    Par défaut faire un INSERT+UPDATE+SELECT d'un coup
    Bonjour,

    J'ai un petit probleme!

    J'ai plusieurs lignes avec le meme identifiant. je veux copier ces lignes (les dupliquer en fait) et changer l'identifiant (passer de zzz à ttt) (non primary key) pour avoir un truc du style:

    Avant

    zzz f f f
    zzz e e e



    Après

    zzz f f f
    zzz e e e
    ttt f f f
    ttt e e e




    Je ne sais pas si le code est bon:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    WITH DataModule1.MyQMP DO
    BEGIN
      SQL.Clear;
      SQL.Add('INSERT INTO ID_M');
      SQL.Add('SELECT * FROM ID_M');
      SQL.Add('WHERE ID_Engin_FK2 = '+ QuotedStr(Form1.IDLoco_Edit.Text));
      SQL.Add('AND ID_Engin_FK2 IN (');
      SQL.Add('    UPDATE ID_M SET ID_Engin_FK2 =:'+ QuotedStr(IDLoco_Edit.Text)+')');
     
    END;
    ????

  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
    Déjà rien qu'avec l'Update ca ne fonctionnera pas car il ne renvoi pas de données.

    Pour ce que tu veux faire il faut que tu le fasses à la mimine.

    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
     
    WITH DataModule1.MyQMP DO
    BEGIN
      Close;
      SQL.Clear;
      SQL.Add('SELECT * FROM ID_M');
      SQL.Add('WHERE ID_Engin_FK2 = '+ QuotedStr(Form1.IDLoco_Edit.Text));
      Open;
     
      While not EOF do
      begin
        MyQuery2.Close;
        MyQuery2.SQL.Clear;
        MyQuery2.SQL.Add('Insert into ID_M');
        MyQuery2.SQL.Add('Values(''ttt'', ' + QuotedStr(FieldByName('LeDeuxiemeChamp').asString) + ')');
        try
          ExecSQL;
        Except on E:Exception do
          Showmessage('Echec de l''insert !!');
        end;
     
        next;
      end;
    Enfin un truc du style ^^ à toi d'adapter
    Modérateur Delphi

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

Discussions similaires

  1. [Oracle] Faire des Insert et select sans Surcharger la DB
    Par arnaud036 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 26/01/2011, 16h00
  2. Réponses: 2
    Dernier message: 13/12/2006, 09h09
  3. Grant Select, Insert, Update
    Par lmdpedat dans le forum Outils
    Réponses: 4
    Dernier message: 03/08/2006, 17h42
  4. Grant Select, Insert, Update
    Par lmdpedat dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 03/08/2006, 15h01
  5. comment faire un insert, + select + update dans la meme requete
    Par jam92400 dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 27/06/2006, 18h33

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