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 :

[interbase] Meilleur Dataset pour les composants orientés BD


Sujet :

Bases de données Delphi

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 128
    Points : 73
    Points
    73
    Par défaut [interbase] Meilleur Dataset pour les composants orientés BD
    Bonjour à tous,

    Voila j'ai une base de donnée sous Interbase et des composants orientés Base de Donnée (DBGrid, DBEdit...) qui me premettent d'afficher toutes les informations contenues dans ma table.

    Je voudrais savoir quel est le meilleur Dataset pour allimenter ces composants :
    -Mettre un TIBTable avec un TDataset
    -Mettre un TIBQuery avec un TDataset
    -Mettre un TIBDataset (je ne vois pas vraiment la différence avec la solution précédente???)

    Et après comment est ce que je dois gérer mes transactions?

    Il faut savoir que via ces composants je dois pouvoir créer, modifier ou effacer des enregistrements
    Voila merci d'avance pour vos conseils
    ++
    vince

  2. #2
    Membre expérimenté
    Avatar de Harry
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2002
    Messages
    1 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 224
    Points : 1 331
    Points
    1 331
    Par défaut
    Bonjour,

    Je te conseillerai d'utiliser le composant IBDataSet qui est à la fois performant et pratique pour l'usage que je pense que tu veux en faire.

    Tu devras le lier à un IBDatabase et tu devras également ajouter un IBTransaction qui sera lié au IBDatabase.

    Pour les autres questions poses les au fur et a mesure

    A++

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 128
    Points : 73
    Points
    73
    Par défaut
    Merci pour ta réponse.

    Je vais donc partir sur un TIBDataset.
    Ma première question est en rapport avec la transaction.
    Est ce qu'il faut que je laisse la transaction qui sera lié à mon TIBDataset tout le temps ouvert pour pouvoir 'naviguer' dans mon DBGrid? Ou bien est que je ne fais start Transaction que le temps de rendre mon IBDataset actif?

    Vince

  4. #4
    Membre expérimenté
    Avatar de Harry
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2002
    Messages
    1 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 224
    Points : 1 331
    Points
    1 331
    Par défaut
    Personnellemet je fais un startTransaction (je sais plus si ca le fait seul, dans le doute vaux mieux tester si la Transaction est pas deja démarré avant d'en demarrer une) au debut puis losqu'il y a eu beaucoup de données de validées je fais un Transaction.CommitRetaining ce qui validera la transaction sans toutefois la fermer. Je ne la referme qu'a la fin.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 128
    Points : 73
    Points
    73
    Par défaut
    Il y a comme meme quelque chose que je comprend pas:

    IBDtaset est un Dataset donc il possède la propriété CanModify. Pour une table il faut jouer avec la propriété ReadOnly pour permettre ou non la modification. Alors qu'ici on peut dans tous les cas faire des modifications. Il suffit de faire ModifySQL

    Est ce que ca une importance ou bien est ce que c'est uniquement du au fait qu'il hérite des TDataset et donc de cette propriété, mais qu'elle n'a pas vraiment de sens avec ce composant?

  6. #6
    Membre expérimenté
    Avatar de Harry
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2002
    Messages
    1 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 224
    Points : 1 331
    Points
    1 331
    Par défaut
    En effet CanModify est hérité de TDataset, je ne sais pas si il a une utilité dans ce cas, en tout cas l'EDI ne met pas cette propriété en valeur. Je pense qu'en ne remplissant pas le ModifySQL cela devrais suffire.

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 128
    Points : 73
    Points
    73
    Par défaut
    bonjour à tous,

    Voila j'ai encore une petite question concernant le fameux TIBdataset.

    Quand j'étais sous Paradox, on pouvait trier les informations qui apparaissaient dans mon DBGrid en cliquant sur le titre de la colonne. Moi je récupérais l'action et je changeais l'index name de ma TTAble.

    Je voudrais faire quelque chose de similaire avec mon IBdataset.

    Je voudrais donc savoir s'il y a une méthode particulière ou bien est ce qu'il faut que je réexécute ma requete SQL en changeant le order by?

    Merci d'avance pour vos réponses

    ++
    vince

  8. #8
    Membre expérimenté
    Avatar de Harry
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2002
    Messages
    1 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 224
    Points : 1 331
    Points
    1 331
    Par défaut
    Oui, tu reexecute en changeant ton order by. (enfin, active tu bascule a True/False).

    ++

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 128
    Points : 73
    Points
    73
    Par défaut
    ok merci pour ta réponse

    vince

Discussions similaires

  1. La meilleure syntaxe pour les entrées/sorties
    Par Lunixinclar dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 28/03/2007, 13h55
  2. Réponses: 5
    Dernier message: 09/10/2006, 17h29
  3. Langages de développement pour les Composant Com et ActiveX
    Par Pilloutou dans le forum Composants VCL
    Réponses: 1
    Dernier message: 16/08/2006, 22h59
  4. HELP POUR LES COMPOSANT
    Par Bruxor dans le forum Composants VCL
    Réponses: 8
    Dernier message: 15/12/2005, 19h16
  5. Créé un nouveau répertoire pour les composant DOS
    Par Furius dans le forum Windows
    Réponses: 11
    Dernier message: 12/10/2005, 17h42

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