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 :

Ouverture dynamique de table VS Initialisation


Sujet :

Bases de données Delphi

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations forums :
    Inscription : Février 2009
    Messages : 94
    Points : 41
    Points
    41
    Par défaut Ouverture dynamique de table VS Initialisation
    Salut

    Ma question est simple mais le titre a été difficile a choisir :
    Dans une application utilisation quelque dizaine de tables, par défaut dans le OnCreate du datamodule j'effectue l'ouverture automatique de toutes les tables et elles seront fermées lors de la fin de l'application :
    Ma qeustion est :
    Est ce plus logique et meilleur en terme d'utilisation mémoire que de proceder à un tableOPEN et tableCLOSE a chaque operation, c'est a dire par exemple Ouvrir une table, effectuer une operation puis la refermer.
    Bien entendu ceci n'est valable que lorsque on n'a pas besoin d'afficher continuellement les données (cas du dbgrid ... etc.)

    Merci !

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 447
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    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 447
    Points : 24 849
    Points
    24 849
    Par défaut
    Quelle DB et Lib\provider
    Paradox + BDE : Oui, ça peut ... mais faut penser au Flush
    Oracle\SQL Server\... + ADO : aberration, oublie le TTable au profit de SQL
    MySQL + Devart MyDAC : Idem SQL !
    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 du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations forums :
    Inscription : Février 2009
    Messages : 94
    Points : 41
    Points
    41
    Par défaut
    La base est :
    Access MDB;,, il ne s'agit pas de beaucoup de données :
    7 tables avec 100 enregistrements max pour chacune .
    Pas nécessaire les query, car par exemple pour la table NOTES, il s'agit de loader via un query au début de tout les enregistrement dans LISTVIEW, et a chaque modifdication d'un item de la listview je fait un :

    Table, OPEN LOCATE, EDIT, POST CLOSE

    Pour mettre a jour l'item sur la base.

    PS : Que voulais tu dire par un flush ???

  4. #4
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 447
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    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 447
    Points : 24 849
    Points
    24 849
    Par défaut
    le Flush concernait Paradox\BDE car les données sont vraiement validées lors d'une clause d'une Table ...

    Pour ACCESS, tu l'utilises comment par BDE ou ADO ?
    Vu le volume, tu peux le faire au démarrage, faut faire attention pour les accès concurrentiels ...
    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 du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations forums :
    Inscription : Février 2009
    Messages : 94
    Points : 41
    Points
    41
    Par défaut
    En ce qui concerne mdb j'utilise les ado.
    En ce qui concerne les acces conccurentiel mon appli est monoutilisateur, il s'agit d'un utilitaire de gestion des contacts. (phone, fax, mail etc.).
    Pour résumer :
    Est ce que une disaine de table contenant chacune une centaine d'enregistrements, ouverte durant toute la durée de l'execution de 'lappli ce n'est pas trop gourmand en mémoire ???

  6. #6
    Membre émérite
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 401
    Points : 2 304
    Points
    2 304
    Par défaut
    Citation Envoyé par NorexaMS Voir le message
    En ce qui concerne mdb j'utilise les ado.
    En ce qui concerne les acces conccurentiel mon appli est monoutilisateur, il s'agit d'un utilitaire de gestion des contacts. (phone, fax, mail etc.).
    Pour résumer :
    Est ce que une disaine de table contenant chacune une centaine d'enregistrements, ouverte durant toute la durée de l'execution de 'lappli ce n'est pas trop gourmand en mémoire ???
    pour savoir ça je vais supposer que chaque enregistrement à une longueur moyenne théorique de 1000 octets, donc 1000 * 10 * 100 = 1000000 d'octets (1Mo). Je présume que tu as au moins 128 Mo de RAM donc ton application plus la base de données tous en RAM ne dépasse pas les 5Mo.

    A toi de juger si c'est trop ou pas ?
    Bon courage ou Bonne Chance (selon le contexte)
    Mon blog sur WordPress

Discussions similaires

  1. Comment faire un lien "dynamique" de tables??
    Par fram069 dans le forum Access
    Réponses: 1
    Dernier message: 10/04/2006, 13h43
  2. [EvariantTypeCastError] à l'ouverture d'une table ADO
    Par vali dans le forum Bases de données
    Réponses: 1
    Dernier message: 03/02/2006, 18h29
  3. Réponses: 2
    Dernier message: 16/11/2005, 13h41
  4. [ACCESS97] Code à l'ouverture d'une table
    Par mpascolo dans le forum Access
    Réponses: 4
    Dernier message: 28/10/2005, 10h59
  5. [DTS]générer dynamiquement des tables Postgres 8.0
    Par CetTer dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 08/10/2005, 10h35

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