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 :

Questions diverses sur TIBDataset et TDBGrid


Sujet :

Bases de données Delphi

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 79
    Points : 66
    Points
    66
    Par défaut Questions diverses sur TIBDataset et TDBGrid
    Bonjour,

    1 -
    j'ai une feuille qui contient un dataset. Les propriétés InsertSQL, ModifySQL, DeleteSQL, RefreshSQL et SelectSQL sont renseignées.
    Lorsque je modifie une ligne je voudrais que ma TDBGrid qui y est liée soit raffraichie.

    Voici le code qui me permet de supprimer ma ligne :
    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
     
      With IBDataSetListingFonctions do
        begin
        if not Eof then
          begin
          Msg := 'CONFIRMATION DE SUPPRESSION' + RetourChariot (2) +
                 'Confirmez-vous la suppression de la fonction ''' +
                 FieldValues ['NOMFONCTION'] + ''' ?';
          Reponse := MessageDlg(Msg, mtConfirmation, [mbYes, mbNo], 0);
     
          if Reponse = mrYes then
            begin
            if not Transaction.InTransaction then Transaction.StartTransaction;
     
            //Editer l'enregistrement ...
            Edit;
            FieldByName ('ACTIF').AsInteger := 0;
            Post;
     
            //...Valider la transaction et réouvrir le dataset pour rafraîchir la
            //grille d'affichage des fonctions.
            Transaction.Commit;
            Open;
          end; //if Reponse = mrYes
        end; //Repoif EOF
      end; //With IBDataSetListingFonctions
    Mais je voudrais savoir comment faire en gardant ma transaction.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
            if not Transaction.InTransaction then Transaction.StartTransaction;
     
            //Editer l'enregistrement ...
            Edit;
            FieldByName ('ACTIF').AsInteger := 0;
            Post;
     
            //...Valider la transaction et réouvrir le dataset pour rafraîchir la
            //grille d'affichage des fonctions.
            Transaction.CommitRetaining;
            Refresh;
    Le refresh faisant appel à ma requête RefreshSQL. Le problème est que le résultat dans ma TDBGrid ne correspond pas à ce qui devrait être affiché.


    2 -
    Dans mon dataset j'ai une requête d'insertion initialisée avec :

    vSQL := 'INSERT INTO ' + TableADM_FONCTIONS + ' ' +
    '(IDFONCTION, NOMFONCTION, DESCRIPTIONFONCTION, ACTIF) ' +
    'VALUES(:IDFONCTION, :NOMFONCTION, ESCRIPTIONFONCTION, -1)
    A l'insertion mon champ Actif doit prendre automatiquement -1. Seulement après la validation de mon enregistrement (méthode post) j'ai un message d'erreur me disant que le champ Actif doit être renseigné.

    La méthode avec le -1 directement dans la requête n'est pas correct ?


    D'avance merci,

    Alexandre.

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 79
    Points : 66
    Points
    66
    Par défaut
    Personne n'a une idée ?

    Merci

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 79
    Points : 66
    Points
    66
    Par défaut
    Apparament j'ai réussi à résoudre mon problème.
    En executant le post, apparament le refresh SQL était lancé, et ma grille se raffraichissait automatiquement. En supprimant cette requête, ça tourne parfaitement. Enfin, j'aimerai quand même savoir pourquoi ...

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

Discussions similaires

  1. Questions Diverses sur la 3D
    Par LinkinParkmetre dans le forum Développement 2D, 3D et Jeux
    Réponses: 22
    Dernier message: 15/12/2007, 22h15
  2. Questions diverses sur MySQL 5.0
    Par AsmCode dans le forum SQL Procédural
    Réponses: 14
    Dernier message: 25/01/2007, 16h35
  3. Questions diverses sur les packages
    Par Stief dans le forum Mise en forme
    Réponses: 1
    Dernier message: 15/10/2006, 11h35
  4. [RSS] Questions diverses sur les flux RSS (Google et phpBB)
    Par leserapheen dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 06/10/2006, 14h35
  5. [DW8] Questions diverses sur le logicie
    Par syn_42 dans le forum Dreamweaver
    Réponses: 3
    Dernier message: 01/03/2006, 17h23

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