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

C++Builder Discussion :

TClientDataSet Tester Delta vide [Débutant]


Sujet :

C++Builder

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    218
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 218
    Points : 91
    Points
    91
    Par défaut TClientDataSet Tester Delta vide
    Bonjour,
    j'essaie des tester la propriété Delta d'un TClientDataSet avant de lever l’exception
    a provoqué une classe d'exception EDBClient avec le message 'Delta vide.'.

    j'ai essayé les methode IsNull() IsEmpty() et cela echoue

    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
     
     
    TClientDataSet *pCdsDelta = new TClientDataSet(CDSPers);
    try{
     
         if(DataModule1->CDSPers->Delta.IsNull()){ // ne passe pas le test
             return false;
           }
     
           pCdsDelta->Data= DataModule1->CDSPers->Delta; // quand c'est vide decleche exception 
       }
       catch(EDBClient &E)  {
         return false;
       }
    // bla
    // bla.....
    Comment faire merci?
    Outils utilisés : FireBird 2.1 - IbExert Free - C++ Builder 6 Pro Update 4- Windows Xp pro Sp3

  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
    Cela serait plutôt un VarIsEmpty
    Entre Variant et OleVariant, en Delphi c'est plus souple, en C++Builder, je sais qu'il est capricieux entre Variant, OleVariant, TVariant, VARIANT ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if (VarIsEmpty(DataModule1->CDSPers->Delta))
      return false;
    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

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    218
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 218
    Points : 91
    Points
    91
    Par défaut
    Bonjour,

    j'ai essayé ton code sous CB6 , j'ai une erreur de compilation :

    [C++ Erreur] DataModule.cpp(230): E2064 Impossible d'initialiser 'const Variant &' avec 'OleVariant'

    [C++ Erreur] DataModule.cpp(230): E2342 Mauvaise correspondance de type dans le paramètre 'V' ('const Variant &' désiré, 'OleVariant *' obtenu)
    que faire et comment convertir ?

    merci
    Outils utilisés : FireBird 2.1 - IbExert Free - C++ Builder 6 Pro Update 4- Windows Xp pro Sp3

  4. #4
    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
    Oui, erreur prévisible, C++Builder est pénible pour ça !
    Oubli, VarIsEmpty c'est uniquement Delphi ! en C++ c'est bien la méthode IsEmpty(), au lieu de tester le variant, utilise la propriété ChangeCount

    Esssaye ceci alors

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
      if ( ! DataModule1->CDSPers->ChangeCount )
        return false;
    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

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    218
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 218
    Points : 91
    Points
    91
    Par défaut
    Ok tu es un as ShaiLeTroll
    mille fois merci
    Outils utilisés : FireBird 2.1 - IbExert Free - C++ Builder 6 Pro Update 4- Windows Xp pro Sp3

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

Discussions similaires

  1. tester le vide d'une case de StringGrid
    Par faniette dans le forum C++Builder
    Réponses: 13
    Dernier message: 23/12/2010, 12h32
  2. [Débutant] Recherche exemple de code source TClientDataSet-Data-Delta-LogChanges
    Par o_live dans le forum C++Builder
    Réponses: 0
    Dernier message: 21/10/2010, 12h59
  3. [MySQL] Tester champ vide en php pour liste déroulante
    Par stefsas dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 05/03/2010, 16h35
  4. tester cellule vide excel
    Par maxos75 dans le forum ASP
    Réponses: 1
    Dernier message: 14/09/2005, 17h02
  5. [debutant] Tester chaîne vide
    Par flogreg dans le forum Langage
    Réponses: 5
    Dernier message: 03/09/2004, 14h58

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