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 :

comment faire insertion par une transaction sous access


Sujet :

Bases de données Delphi

  1. #1
    iam
    iam est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 197
    Points : 72
    Points
    72
    Par défaut comment faire insertion par une transaction sous access
    je travaille avec delphi 7 et une base de données access, j'utilise pour cela le composant ADO, j'ai deux tables mouvement(maitre) et detail_mouvement (detail), je veux inserer un mouvement après j'insère son détail, je prèfère réaliser ça avec une transaction, comment je procède, est ce que je fait ça dans access après j'appele la transaction dans delphi et je l'execute ou comment? quel est la syntaxe de la transaction?

  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
    Voici un exemple, à toi d'adapter

    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
     
    With AdoConnection1 do
    begin
      BeginTrans; // Debut de la transaction
      With AdoTable1 do
      begin
        Append;
        FieldByName('Field1').asString := Edit1.text;
        FieldByName('Field2').asString := Edit1.text;
        ...
        FieldByName('FieldX').asString := EditX.text;
         Try // Si il y a un pb avec le post
          Post;
        Except on E:Exception do
          begin
            RollBackTrans; // Annule la transaction
            Showmessage(E.Message); // affiche l'erreur
            Exit; // quitte la procé"dure sans passer par le Commit à la fin
          end;
        end; // try
      end; // with
     
      With AdoTable2 do
       begin
         Append;
         FieldByName('Field1').asString := Edit1.text;
         FieldByName('FieldB').asString := Edit3.text;
         ...
         FieldByName('FieldX').asString := EditX.text;
          Try
           Post;
         Except on E:Exception do
           begin
             RollBackTrans;
             Showmessage(E.Message);
             Exit;
           end;
         end; // try
       end; // with
     
      CommitTrans; // valide la transaction
    end;
    Modérateur Delphi

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 23/06/2014, 19h08
  2. [AC-2007] Comment échapper les (') dans une requête sous ACCESS 2
    Par yfchauer dans le forum IHM
    Réponses: 4
    Dernier message: 13/04/2013, 19h52
  3. [AC-2007] Comment échapper les (') dans une requête sous ACCESS
    Par yfchauer dans le forum IHM
    Réponses: 8
    Dernier message: 02/04/2013, 21h26
  4. [gedit] Comment faire pour avoir une instance de gedit par onglet ?
    Par Davidbrcz dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 25/06/2007, 11h58
  5. Réponses: 9
    Dernier message: 26/03/2007, 19h45

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