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 :

SetRange et ClientDataSet


Sujet :

Bases de données Delphi

  1. #1
    Membre averti
    Avatar de HumanTool
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2006
    Messages
    276
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2006
    Messages : 276
    Points : 378
    Points
    378
    Par défaut SetRange et ClientDataSet
    Bonjour,
    je voudrais savoir s'il existe un moyen de savoir lorsque l'on est dans un SetRange.

    Je m'explique, j'ai une procedure principale qui place un SetRange puis fait un traitement. Dans ce traitement j'appelle des fonctions qui sont susceptibles de refaire un SetRangesur mon ClientDataset. En sortie de ces fonctions, j'aimerais revenir à mon état précédent.

    J'ai pensé au Clone pour palier à ce problème mais du coup je me suis demandé s'il n'y avait pas un moyen de connaitre l'état de mon ClientDataset; comme le Filter et le Filtered par exemple....

    J'espère que je suis suffisament clair
    D'abord ils vous ignorent, ensuite ils se moquent de vous, puis ils vous combattent, enfin vous gagnez (Gandhi)

  2. #2
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Salut

    N'ayant utiliser que très rarement de SetRange je suis pas absolument sûr de ma réponse. Donc à vérifier.
    Normalement l'état du ClientDataSet (prop. State) doit basculer à dsSetKey.

    A voir si cela est facilement exploitable dans ton contexte.

    @+ Claudius

  3. #3
    Membre averti
    Avatar de HumanTool
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2006
    Messages
    276
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2006
    Messages : 276
    Points : 378
    Points
    378
    Par défaut
    Ben juste aprés avoir fait mon setrange j'ai vérifié ma propriété state et elle est en dsBrowse....
    D'ailleurs la défintion de dsSetKey est surprenante :
    dsSetKey TTable et TClientDataSet uniquement.
    La recherche d'enregistrement est activée,ou une opération SetRange est en cours. Un ensemble restreint de données peut être visualisé et aucune donnée ne peut être modifiée ni insérée.
    pourtant je peux faire des edit/append en étant dans un setrange....ce qui me laisse penser que cet état est visible que si le setrange prend du temps
    D'abord ils vous ignorent, ensuite ils se moquent de vous, puis ils vous combattent, enfin vous gagnez (Gandhi)

  4. #4
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Citation Envoyé par HumanTool Voir le message
    Ben juste aprés avoir fait mon setrange j'ai vérifié ma propriété state et elle est en dsBrowse....
    Aïe, je pensais justement que dsSetKey venait se substituer à dsBrowse. Tout faux.

    Peut-être sur l'évènement OnStateChange du DataSource ? A creuser.

    @+

  5. #5
    Membre averti
    Avatar de HumanTool
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2006
    Messages
    276
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2006
    Messages : 276
    Points : 378
    Points
    378
    Par défaut
    Non c'est la même chose....
    D'abord ils vous ignorent, ensuite ils se moquent de vous, puis ils vous combattent, enfin vous gagnez (Gandhi)

Discussions similaires

  1. DbExpress + ClientDataSet
    Par BONNEFOI Patrick dans le forum Bases de données
    Réponses: 3
    Dernier message: 12/05/2005, 10h29
  2. Importer un fichier CSV dans un clientdataset ?
    Par mls dans le forum Bases de données
    Réponses: 7
    Dernier message: 15/04/2005, 12h35
  3. RemoteDataModule,DBExpress et ClientDataSet en Delphi
    Par BadRedMane dans le forum Bases de données
    Réponses: 1
    Dernier message: 12/12/2004, 20h21
  4. [MySQL][DbExpress][D7] clientdataset.applyupdates
    Par nanomag dans le forum Bases de données
    Réponses: 2
    Dernier message: 17/06/2004, 16h48
  5. [ClientDataSet] ApplyUpdates
    Par VincentR dans le forum Bases de données
    Réponses: 4
    Dernier message: 27/05/2004, 13h36

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