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 :

Application du principe de transaction entre Delphi et Oracle


Sujet :

Bases de données Delphi

  1. #1
    Membre du Club
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    101
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 101
    Points : 64
    Points
    64
    Par défaut Application du principe de transaction entre Delphi et Oracle
    Application du principe de transaction entre Delphi et Oracle

    Bonjour tout le monde


    Je travail avec Delphi version 6, j’utilise le composant ADO pour l’accès et la manipulation de base de données.

    J e dispose d’in fichier texte qui comporte des données à faire monter dans un BDD ORACLE, j’ai parvenu à lire mes données depuis ce fichier et même d’écrire dans ma base, bref, j’ai besoin d’appliquer le principe de transactions pour permette la remonté d’où bien : la totalité des lignes ou carrément rien !
    Depuis la console ORACLE l’utilisation des transactions est plus pratique (en mettant commit à la fin) mais avec Delphi les chose ne paraissent pas identiques car pour exécuter une requête de type update ou insert je sais faire « .execsql » pour chaque insert, mais pour le tout le paquet de insert et/ou update j’en ai pas d’idée précise !

    Pour être plus explicite
    J’ai une table etudiant qui est structuré comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Table : etudiant
    {
    Nom :varchar, prenom : varchar, datnes : date
    }
    J’ai un fichier texte plcé sur une composant Tmomo sur une form delphi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Richardson|peter|15/02/1983|
    Michael|enrique|02/05/1984|
    Peter|james|11/04/1983|
    J’ai développé une fonction qui permet de lire quelconque colonne d’une ligne memo, soit la fonction lire_colone(m.lines.strings[i],j] qui permet de lire la colonne j de la ligne i du memo.

    Ce que je veux est le suivant :
    Lire la totalité des étudiants (3 dans ce cas, mais plus de 5000 sur mon projet) ou de rien lire par le principe de transaction.

    Le problème s’avère plus claire, j’attend votre aide et merci d’avance

  2. #2
    Membre émérite
    Avatar de skywaukers
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2005
    Messages
    1 216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 216
    Points : 2 303
    Points
    2 303
    Par défaut
    Bonjour,

    tu as au niveau de la connection il me semble des méthode begintrans, committrans et roolbacktrans (je suis pas sûr de la syntaxe, mais c'est à peu près cela).

    @++
    Dany

  3. #3
    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
    LE cas typique avec Ado :

    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
     
     
    Adoconnection.BeginTrans; // Début de la transction
     
    For i := 0 to LaFinDuFichier do
      With AdoQuery do
      try
        Close;
        SQL.Clear;
        SQL.Add('....');
        ExecSQL;
      Except on E:Exception do
        begin
          AdoConnection.RollbackTrans; // annulation de la transaction
          exit;
        end;
      end;
    Adoconnection.CommitTrans; // validation de la transaction
    Modérateur Delphi

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

  4. #4
    Membre du Club
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    101
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 101
    Points : 64
    Points
    64
    Par défaut
    ça a trés bien marché merci pour vos aide, vous etes les rois

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

Discussions similaires

  1. Réponses: 12
    Dernier message: 26/05/2015, 16h11
  2. Différences entre Delphi et Visual Basic ?
    Par Anonymous dans le forum Débats sur le développement - Le Best Of
    Réponses: 75
    Dernier message: 30/03/2009, 20h09
  3. compatibilte entre delphi VB ORACLE
    Par hamadi_insat dans le forum Bases de données
    Réponses: 4
    Dernier message: 27/08/2006, 19h57
  4. Pb entre DELPHI et ACCESS
    Par sufteam dans le forum Bases de données
    Réponses: 3
    Dernier message: 16/03/2004, 17h48
  5. Réponses: 2
    Dernier message: 11/07/2003, 18h24

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