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 :

renommer une table


Sujet :

Bases de données Delphi

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

    Informations forums :
    Inscription : Mai 2005
    Messages : 166
    Points : 96
    Points
    96
    Par défaut renommer une table
    Bonjour,

    j'aurais voulu savoir si il était donc possible d'enregistrer une table sous un autre nom?
    (C'est pour eviter de creer une table qu'on ne peut faire sous paradox je crois...)

  2. #2
    Membre expert
    Avatar de TicTacToe
    Inscrit en
    Septembre 2005
    Messages
    1 940
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 940
    Points : 3 575
    Points
    3 575
    Par défaut
    Un peu vague

    Renommer à quel niveau ? logique, physique ?
    Quelle base ? Paradox ?
    Pendant l'utilisation, table fermée / ouverte ?
    Section Delphi
    La mine d'or: La FAQ, les Sources

    Un développement compliqué paraitra simple pour l'utilisateur, frustrant non ?
    Notre revanche ? l'inverse est aussi vrai ;-)

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

    Informations forums :
    Inscription : Mai 2005
    Messages : 166
    Points : 96
    Points
    96
    Par défaut
    Alors, je precise!!!!

    Paradox, en table ouvert, et puis:

    on a Table1 , on l'enregistre sous un autre nom ex: Table2 et on travailler ensuite avec Table et on vide Table1...

  4. #4
    Membre expert
    Avatar de TicTacToe
    Inscrit en
    Septembre 2005
    Messages
    1 940
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 940
    Points : 3 575
    Points
    3 575
    Par défaut
    Il semble que tu parles de noms logiques

    "Table1" est-ce la proriété de ta table TTable ?
    Si c'est le cas, ce que tu souhaites faire ne marcheras pas.

    Si le but est de travailler sur une copy de ta table, tu peux creer une table dynamiquement 'TableTmp' et y recopier les données de ta table1. (table1 ouverte).

    Si tu veux renommer physiquement ta table1.db, cela doit se faire table fermée. et c'est certainement pas conseillée. Surtout si c'est pour du traitement de tous les jours et pas de la maintenance ponctuelle.

    Si tu veux recopier physiquement table1.db dans table2.db, de manière physique directement avec les fichiers, je te déconseille de le faire table1 ouverte.

    Visiblement, c'est la copie de table qui t'interesse.
    Tu peux creer une table dynamiquement, en lisant la structure de la table source, puis y recopier tous les champs.

    Bon courage !
    Section Delphi
    La mine d'or: La FAQ, les Sources

    Un développement compliqué paraitra simple pour l'utilisateur, frustrant non ?
    Notre revanche ? l'inverse est aussi vrai ;-)

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

    Informations forums :
    Inscription : Mai 2005
    Messages : 166
    Points : 96
    Points
    96
    Par défaut
    Citation Envoyé par TicTacToe
    Visiblement, c'est la copie de table qui t'interesse.
    Tu peux creer une table dynamiquement, en lisant la structure de la table source, puis y recopier tous les champs.
    C'est ça! mais je ne sais pas comment faire dis dc!

  6. #6
    Membre expert
    Avatar de TicTacToe
    Inscrit en
    Septembre 2005
    Messages
    1 940
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 940
    Points : 3 575
    Points
    3 575
    Par défaut
    F1 sur TTable

    et tu trouveras des fonctions interessantes:
    - FieldDefs pour lire les propriétés des champs de ta tables (ou Fields ca dépend des cas)
    - IndexDefs , pour lire les propriétés des index de ta table
    - CreateTable pour créer ta table avec les définitions actuelles citées plus haut.

    Donc dans l'ordre
    - tu créés dynamiquement une table (new TTable).
    - tu la définie en t'appuyant sur les propriétés de la table source, ainsi que les propriétés classique (name, tablename etc...)
    - tu la créée
    - tu parcours tous les enreg de la table sources, tu y recopies tous les champs dans la table dest.

    Tu peux parcourir tous les champs d'un tables avec FieldsDef ou Fields pour récupérer le nom, et acceder au champs par FieldByName( 'NomChamp').

    Bon courage !
    Section Delphi
    La mine d'or: La FAQ, les Sources

    Un développement compliqué paraitra simple pour l'utilisateur, frustrant non ?
    Notre revanche ? l'inverse est aussi vrai ;-)

  7. #7
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Et un CopyFile sur la table fermée ca irait peut être plus vite non
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  8. #8
    Membre expert
    Avatar de TicTacToe
    Inscrit en
    Septembre 2005
    Messages
    1 940
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 940
    Points : 3 575
    Points
    3 575
    Par défaut
    yes, possible Malatar

    J'ai évoqué le cas dans mon 2eme post

    mais forzaxelah a cité:
    Paradox, en table ouvert, et puis:
    Alors....
    Section Delphi
    La mine d'or: La FAQ, les Sources

    Un développement compliqué paraitra simple pour l'utilisateur, frustrant non ?
    Notre revanche ? l'inverse est aussi vrai ;-)

  9. #9
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Je crois que de toute façon la CopyFile se moque si la table est ouverte ou non (a tester) sinon y a le ShFileCopy (pas sur du nom) qui doit le faire aussi.

    3em possibilité par requete ^^

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    select * into TableNameDestination  IN CheminDestination/TableNameDestination.db
    from TableNameSource

    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Select * into CheminDestination/TableNameDestination.db
    from TableNameSource
    A tester avec paradox, je suis pas sur de son fonctionnement
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  10. #10
    Membre expert
    Avatar de TicTacToe
    Inscrit en
    Septembre 2005
    Messages
    1 940
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 940
    Points : 3 575
    Points
    3 575
    Par défaut
    Citation Envoyé par Malatar
    Je crois que de toute façon la CopyFile se moque si la table est ouverte ou non
    C'est vrai, cela fonctionnera une fois sur 10.
    Mais la copie ne prenant pas une photo instantanée de tous les fichiers concernant la table, la copie du fichier.db ne se faisant pas au même moment que la copie du fichier.px, on s'expose fortement à avoir une table finale dans un état incohérent.

    La probabilité de se retrouver avec une table cassée dépend de l'activité en cours de la table source ouverte, et de son volume (le fichier DB peut mettre 30 secondes à être copiée, etc... le dernier fichier xxx.yg* sera copié avec des infos ne refletant pas la version du fichier *.db au moment de la copie...)

    Donc, moi je le déconseille fortement.

    Après la requête, aucune idée si ca marche, mais si ca fonctionne c'est plutot cool comme solution
    Section Delphi
    La mine d'or: La FAQ, les Sources

    Un développement compliqué paraitra simple pour l'utilisateur, frustrant non ?
    Notre revanche ? l'inverse est aussi vrai ;-)

  11. #11
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Avec Access ca fonctionne apres faut juste tester et trouver les bon paramètrages pour paradox.
    Faut quand même attention avec ce type de requete car elle ne copie pas les clef et si la table existe déjà ca retourne une erreur.
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

Discussions similaires

  1. Impossible de renommer une table dans FireBird
    Par WebPac dans le forum Bases de données
    Réponses: 3
    Dernier message: 19/05/2006, 12h12
  2. renommer une table
    Par nogood1 dans le forum Access
    Réponses: 1
    Dernier message: 25/10/2005, 20h56
  3. [Sql Server] Renommer une table
    Par TekP@f dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 29/07/2005, 10h07
  4. renommer une table INTERBASE 6
    Par Yogy dans le forum InterBase
    Réponses: 4
    Dernier message: 12/06/2005, 16h40
  5. [PHPMyAdmin] Renommer une table SQL
    Par ferdi67 dans le forum Outils
    Réponses: 2
    Dernier message: 04/10/2004, 09h39

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