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

 Firebird Discussion :

problème d'insertion de données


Sujet :

Firebird

  1. #1
    Membre éprouvé
    Homme Profil pro
    Benevole
    Inscrit en
    Mai 2004
    Messages
    1 674
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Benevole
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 674
    Points : 925
    Points
    925
    Par défaut problème d'insertion de données

    bonjour à tous
    j'ai un problème qui me pourri le vie depuis plusieurs
    jours. en effet c'est un pb que j'ai exposé au forum
    delphi et les bases de données sur conseil de barbibulle
    mais je n'ai obtenu de reponse.
    j'ai mon application que j'ai écrite sous delphi 6.
    en utilisant les ibx je me connect à ma base de données
    sous interbase 6 ver open source.
    dans mon application voici les particularités:
    j'ai un IBDatabase que je connect à ma base données
    un IBTransaction
    un IBquery
    un IBUpdateSQL
    un datasource
    et à partir d'un DBgrid et DBnavigator
    je visualise,inserre, modifie, valide
    les données.
    pour me rendre compte que les données inserreés sont
    vraiment inscrite dans la base.
    je lance IBexpert et la à ma grande surprise rein!
    je fais une insertion à parir de IBexpert et la
    aprés rafraichissement au niveau de ma base je vois
    la donnée inserrée a partir de IBexpert.

    En fait je sais plus s'il me faut écrire un code spécifique
    pour commiter les insertions ou autres MAJ je suis debousoler
    je vous demande de m'aider
    merci à tous

  2. #2
    Membre expert
    Avatar de Barbibulle
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    2 048
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2 048
    Points : 3 342
    Points
    3 342
    Par défaut
    Sur l'évènement OnAfterPost du IBQuery faites
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IBQuery.Transaction.CommitRetaining;
    ou si vous voulez fermer la transaction.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IBQuery.Transaction.Commit;

  3. #3
    Membre éprouvé
    Homme Profil pro
    Benevole
    Inscrit en
    Mai 2004
    Messages
    1 674
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Benevole
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 674
    Points : 925
    Points
    925
    Par défaut
    j'essai et je vous fait signe
    merci

  4. #4
    Membre éprouvé
    Homme Profil pro
    Benevole
    Inscrit en
    Mai 2004
    Messages
    1 674
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Benevole
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 674
    Points : 925
    Points
    925
    Par défaut
    bonjour Barbibulle
    j'ai essaiyer ça marcher juste pour une insertion et après plus rien, le meme pb survient.
    en faite j'ai oublier de la dire dans ma table l'Id de ma table (clé primaire) est autoincrémenté. c'est peut etre a cause de cela.
    bon pour ma part je continu de creuser
    merci

  5. #5
    Membre expert
    Avatar de Barbibulle
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    2 048
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2 048
    Points : 3 342
    Points
    3 342
    Par défaut
    Il y a un message d'erreur ?

  6. #6
    Membre éprouvé
    Homme Profil pro
    Benevole
    Inscrit en
    Mai 2004
    Messages
    1 674
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Benevole
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 674
    Points : 925
    Points
    925
    Par défaut
    non il n'ya pas de message d'erreurs et c'est bien ce qui me géne.

    lorsque je fais une insertion au niveau de mon application pas de pb.
    mais il suffit que je quitte mon aplli et lorsque je la relance elle n'arrive meme pas avoir le dernière valeur entrée.

    alors que du coté de IBexpert ca marche sans pb.

    j'ai comme l'impression que IBexpert a une certaine exclusivité sur la table. car mon apllication ce met a jour à partir des données entrées du coté de IB expert.
    en faite c'est juste une table de 3 colones IDnuméro, nom , prénom
    merci.

  7. #7
    Membre expert
    Avatar de Barbibulle
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    2 048
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2 048
    Points : 3 342
    Points
    3 342
    Par défaut
    Je ne comprend pas bien votre probleme. A mon a vous oubliez de faire quelque chose comme un commit par exemple.

    Dites comment vous avez configuré votre transaction dans votre application ? (Read commited ?)

    Et décrivez pas à pas ce que vous faites dans IBExpert et dans votre application, jusqu'à l'apparition de ce que vous pensez être un problème...

  8. #8
    Membre éprouvé
    Homme Profil pro
    Benevole
    Inscrit en
    Mai 2004
    Messages
    1 674
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Benevole
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 674
    Points : 925
    Points
    925
    Par défaut
    dans mon application les IBX ont été configurés en read commited.

    pour la description pas à pas voila ce que je fais:
    dans IBexpert j'ouvre ma table en mode insertion
    - j'inserre une ligne: 20 dino1 devalender
    je valide et je committe.

    je rabat la fenetre de IBexpert et j'agrandit celle de mon application là
    - j'inserre une autre ligne: 20 dino devalender je valide. a ma grande surprise il n'ya pas de message d'érreur(hors numéro est PK). ce qui veut dire que la donnée n'a pas atteint la donnée!

    je quitte mon apllication et je relance, apres un refresh dans la barre du DBnavigator j'apercois dans ma table

    -20 dino devalender
    donc la donnée venant de IBexpert !
    je ne comprend plus rien
    merci

  9. #9
    Membre éprouvé
    Homme Profil pro
    Benevole
    Inscrit en
    Mai 2004
    Messages
    1 674
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Benevole
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 674
    Points : 925
    Points
    925
    Par défaut
    en attendant d'y voir plus claire et si vous n'avez pas de solution je vais essaiyer de tout reprendre
    merci

  10. #10
    Membre expert
    Avatar de Barbibulle
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    2 048
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2 048
    Points : 3 342
    Points
    3 342
    Par défaut
    C'est pas très clair vos explications....

    Structure de la table :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    CREATE TABLE MATABLE (
        ID     INTEGER NOT NULL,
        NOM  VARCHAR(20) NOT NULL,
        PRENOM    VARCHAR(25));
     
    ALTER TABLE MATABLE ADD PRIMARY KEY (ID);
    Dans IBExpert :

    Insertion d'une nouvelle donnée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1  Barbibulle  Barbouille
    Validation et COMMIT

    j'iconise IBExpert

    je lance mon application, je visualise bien la ligne insérée. J'iconise mon application (je ne la ferme pas)

    je réouvre IBExpert j'insère une autre ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    2  Devalender  Jevaisyarriver
    je valide et COMMIT
    j'iconise IBExpert
    je réouvre mon application je ne vois pas la ligne 2, mais c'est normale car je n'ai pas redemandé la lecture de la table. Je fais donc un IBDataSet.Close; (remplissage éventuel des paramètres... puis ) suivit de IBDataSet.Open;
    Cette fois je vois bien les deux lignes.

    J'insère une nouvelle ligne dans mon application :
    je la valide (IBDataSet.Post;) message d'erreur PK primary key...
    je modifie le 2 en 3, je valide (IBDataSet.Post;) cette fois il n'y a pas d'erreur.
    J'iconise.
    J'ouvre IBExpert, je valide la transaction (pour rafraichir les données) je ne vois que les deux lignes (c'est normal j'ai pas commité dans l'application...)

    Je reviens dans l'application, je commit (IBDataSet.transaction.Commit;)
    J'iconise,je reviens dans IBExpert, je valide la transaction pour rafraichir et cette fois je vois bien les 3 lignes...

    Voilà une description pas à pas avec les infos importantes (Insert, post, commit)

  11. #11
    Membre éprouvé
    Homme Profil pro
    Benevole
    Inscrit en
    Mai 2004
    Messages
    1 674
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Benevole
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 674
    Points : 925
    Points
    925
    Par défaut
    bonjour
    apparament c'est bien expliqué, mais ce que comprend pas ou ce que je ne vois (ne sais pas faire), c'est l'endroit exacte ou il faut aposer les differents codes dont tu fait allusion dans ton explication:

    exemple:
    pour le IBDataSet.Close; (remplissage éventuel des paramètres... puis ) suivit de IBDataSet.Open;
    en effet c'est bien le pb que j'avais
    merci

  12. #12
    Membre éprouvé
    Homme Profil pro
    Benevole
    Inscrit en
    Mai 2004
    Messages
    1 674
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Benevole
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 674
    Points : 925
    Points
    925
    Par défaut
    merci beaucoup barbibulle ça marche
    merci encore

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

Discussions similaires

  1. Problème d'insertion de données Perl-dbi
    Par Tygrou dans le forum SGBD
    Réponses: 5
    Dernier message: 07/04/2006, 12h20
  2. [MySQL] Problème d'insertion de données dans table d'associations
    Par Yukhaa dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 07/02/2006, 18h10
  3. Réponses: 2
    Dernier message: 14/05/2004, 15h32
  4. problème d'insertion de données
    Par Falgan dans le forum ASP
    Réponses: 2
    Dernier message: 06/04/2004, 10h29
  5. [Interbase 7] Problème d'insertion de données
    Par Tuscelan dans le forum InterBase
    Réponses: 12
    Dernier message: 19/11/2003, 23h58

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