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 :

comment tester si ma table n'est pas vide.


Sujet :

Bases de données Delphi

  1. #1
    Futur Membre du Club
    Inscrit en
    Décembre 2013
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Décembre 2013
    Messages : 10
    Points : 7
    Points
    7
    Par défaut comment tester si ma table n'est pas vide.
    BJR

    je veux tester si ma table n'est pas vide avant d'éxcuter un code j'utiliser le code suivant mais ca n'a pas marchait:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    if (DataModule4.Table3.IsEmpty = false) Then
     begin
     for i:=1 to DataModule4.Table3.RecordCount
     do begin 
    if   DataModule4.Table3.FieldValues['nom']=F then
     DataModule4.table3.Delete;
     end;
    DataModule4.table3.next;
     end;

  2. #2
    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

    Pense à la balise [CODE] icone # pour nous faciliter la lecture de ton code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    if (DataModule4.Table3.IsEmpty = false) Then
    begin
      for i:=1 to DataModule4.Table3.RecordCount do
      begin 
        if DataModule4.Table3.FieldValues['nom']=F then
          DataModule4.table3.Delete;
      end;
      DataModule4.table3.next;
    end;
    Pense que le Delete effectue une sorte de Next
    Mais ton Next est curieusement placé hors de la boucle, à un moment, tu devais bloquer sur le même enreg différent de F

    Evite RecordCount ce n'est pas fiable (certains composant ne le supporte pas avec Exception, d'autres gère de la pagination de donnée qui fausse cette valeur au profit de meilleure performance)


    le mieux c'est EOF et BOF !
    Pense au with pour éviter de dupliquer le nom de l'objet, pour un code court comme celui-ci, c'est idéal, ne pas en abuser !
    DataModule4.Table3, pense à nommer intelligemment tes objets, comment vas-tu t'y retrouver quand tu en auras des centaines voir des milliers !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    with DataModule4.Table3 do
    begin
      First();
      while not EOF do
      begin
        if FieldByName('nom').AsString=F then
          Delete()
        else
          Next();
      end;
    end;


    personnellement, je préfère écrire "not test" que "test = false"
    certains n'aime pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if not DataModule4.Table3.IsEmpty then
    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. Requete SQL qui ne retourne rien alors que ma table n est pas vide
    Par adelsunwind dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 02/06/2009, 19h16
  2. Comment vérifier si une structure n'est pas vide
    Par colorid dans le forum Langage
    Réponses: 7
    Dernier message: 09/09/2008, 00h01
  3. tester si un champs n'est pas vide
    Par k-eisti dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 30/05/2008, 14h10
  4. [XML]Comment tester que mon fichier XML est comme ceci?
    Par Devil666 dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 02/06/2005, 13h41
  5. Comment tester qu'un objet String est bien initialisé
    Par Jones dans le forum Servlets/JSP
    Réponses: 8
    Dernier message: 17/09/2004, 11h29

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