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 :

vérifier si l'enregistrement est vide


Sujet :

Bases de données Delphi

  1. #1
    Membre à l'essai
    Inscrit en
    Janvier 2008
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 37
    Points : 20
    Points
    20
    Par défaut vérifier si l'enregistrement est vide
    Bonjour à tous,
    j'ai crée une application delphi avec une BDD access, connection par ADO. j'essaye de mettre une condition pour l'insertion de nouveaux enregistrements.
    explications:
    lorsque je lance la form de la quelle j'ajoute les nouveaux enregistrement sur une table qui contient une trentaine de champs, l'AdoQuery se met en mode insertion (Adoquery.Append), et en fermant la fenetre, les données sont enregistrés (AdoQuery.post), mais je ne voudrais enregistrer que si cet enregistrement contient des donné, faire une verification si l'enregistrement est vide il est annulé sinon enregistré.
    j'ai essayé:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if AdoQuery.IsEmpty then
    AdoQuery.cancel
    else
    AdoQuery.post
    mais ça ne marche pas

    Merci d'avance pour vous.

  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
    IsEmpty sert à vérifier s'il y a des données dans le DataSet (en clair REcordCount de ton TAdoQeury > 0)

    Le plus simple pour ce que tu veux faire est de mettre une vérification sur les champs important et d'empêcher la validation.

    Exemple possible dans le bouton de validation
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Procedure ButtonValiderClick(Sender : TObject)
    begin
      if Trim(Monchamp.text) = '' then
      begin
        Showmessage('Champ Blabla Obligatoire');
        Monchamp.SetFocus;
        Exit;
      end;
     
      AdoQuery.Post;
      Close;
    end;
    Puis faire un bouton d'annulation

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Procedure ButtonAnnulerClick(Sender : TObject)
    begin
      AdoQuery.Cancel;
      Close;
    End;
    A adapter selon ton code bien sûr
    Modérateur Delphi

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

  3. #3
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 459
    Points : 24 873
    Points
    24 873
    Par défaut
    Regarde Modified et IsNull sur les Fields
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  4. #4
    Membre à l'essai
    Inscrit en
    Janvier 2008
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 37
    Points : 20
    Points
    20
    Par défaut
    Merci pour vous
    l'idée de Rayek fonctionne bien.
    et pour ShaiLeTroll je n'ai pas bien compris la méthode que j'aimerais bine essayer d'ailleurs.

  5. #5
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 459
    Points : 24 873
    Points
    24 873
    Par défaut
    Sur le AdoQuery, tu as une méthode FieldByName (ou Fields aussi), qui permet d'accçder au champ un par un, il possède des propriétés comme Modified (indique il y a une modification du champ depuis le Append) et IsNull c'est que le champ est vide (ben NULL ce qui n'est pas loin lors d'un Append sauf si tu as explicitement des champs déclaré not NULL)
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

Discussions similaires

  1. vérifier qu'un champ est vide dans un formulaire
    Par dr_feelgood dans le forum IHM
    Réponses: 3
    Dernier message: 08/06/2007, 07h21
  2. [MySQL] Savoir si un enregistrement est vide
    Par MayOL69bg dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 16/04/2007, 17h26
  3. Réponses: 2
    Dernier message: 21/02/2007, 10h27
  4. [Tableaux] Vérifier si un champ est vide !
    Par Tr@nkill dans le forum Langage
    Réponses: 9
    Dernier message: 16/05/2006, 16h11
  5. [VBA] Pourquoi mon jeu d'enregistrement est vide ?
    Par gyzmo5 dans le forum Access
    Réponses: 2
    Dernier message: 09/02/2006, 14h15

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