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

VB 6 et antérieur Discussion :

acces simultané à la même table


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2010
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 10
    Par défaut acces simultané à la même table
    Bonsoir à tous
    je développe une application vb6 base oracle10 g
    mon probléme c'est que j'ai une redendance au niveau de la clé premiére lorsque 2 utlisateurs ou plus sont connectés.
    exemple:utlisateur 1 va lancer une facture, donc
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    select max(code) from facture
    utlisateur 2 va lancer une facture, donc
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    select max(code) from facture
    donc possibilté d'avoir le même code
    merci d'avance pour la répense

  2. #2
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    Salut

    Première solution tu paramètres ton champ en auto-incrémentation, ou bien,
    il y a quasi aucun risque si tu fais appel à max(Code) juste avant l'enregistrement de la facture.
    Tu remplis tous les champs de la table facture dans un premier recordset, sauf code, juste avant l'Update tu vas rechercher le Max(Code) avec un autre recordset temporaire, tu incrémentes ce Max et l'attribues au premier recordset et fais l'Update dans la foulée.
    En procédant de cette façon il ne faut pas oublier de fermer immédiatement le recordset d'enregistrement de la facture pour forcer la mise à jours de la BD.
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  3. #3
    Membre averti
    Inscrit en
    Mai 2010
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 10
    Par défaut même probleme
    merci pour la réponse mais c'est ce que j'ai fait
    voila mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    l_code= l_facture.GetMaxNum
      Ap.BeginTrans
      l_facture.AddRec l_code, l_client, l_dat, l_total_ht, l_remise....
      Ap.Data.CommitTrans
    mais le probléme c'est que parfois le code "
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    l_code= l_facture.GetMaxNum"
    s'exécute simultanément pour deux utilisateurs donc le 2éme enregistrement sera annulé!!!!

  4. #4
    Membre averti
    Inscrit en
    Mai 2010
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 10
    Par défaut SOLUTION
    bonjour
    voila j'ai trouvé la solution moi même
    il suffit de faire recours à la notion de séquence a condition de ne faire sequence.nextval que lors de l'enregistrement pour éviter la perte de quelques numéros générés par la séquence
    merci à tous

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 09/10/2010, 02h51
  2. Accès simultané à la même bdd
    Par laurentSc dans le forum Free
    Réponses: 0
    Dernier message: 01/04/2008, 10h00
  3. plusieurs accés sur la même table
    Par DjMID dans le forum Firebird
    Réponses: 1
    Dernier message: 01/06/2007, 08h31
  4. Accès simultané au même fichier
    Par Oprichnik dans le forum Langage
    Réponses: 8
    Dernier message: 16/09/2006, 13h17
  5. Accès simultané au même fichier pour modification
    Par Dominique_78 dans le forum Langage
    Réponses: 5
    Dernier message: 21/02/2006, 18h53

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