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 :

Ajout un champs dans une table Paradox


Sujet :

Bases de données Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Femme Profil pro
    Architecte matériel
    Inscrit en
    Juin 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte matériel
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2012
    Messages : 2
    Par défaut Ajout un champs dans une table Paradox
    Bonjour à tous,

    Je cherche à ajouter une champs dans une table paradox (Delphi 6) en mode programmation, le code que je me suis fait est le suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
         MaTable.FieldDefs.Add ('Champs', FtString, 1, False);
         MaTable.CreateTable;
    Ce code bien sûr fonnctionne, le problème, ça efface les données dans la table

    Est il possible d'ajouter un champs sans effacer les données ???

    ----------------------------------------------

    un autre code que j'ai trouvé sur le net mais j'arrive pas à le faire fonctionner :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
         Qry.Sql.Text  := 'ALTER TABLE "C:\MaTable.Db" Add "Champs" Char(1)';
         Qry.ExecSql;
    Merci à vous !!!

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 660
    Billets dans le blog
    65
    Par défaut
    Bonjour
    La deuxième solution (SQL) est, de loin , la plus efficace !

    mais j'arrive pas à le faire fonctionner
    Quelle erreur ?

  3. #3
    Nouveau candidat au Club
    Femme Profil pro
    Architecte matériel
    Inscrit en
    Juin 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte matériel
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2012
    Messages : 2
    Par défaut
    Citation Envoyé par SergioMaster Voir le message
    Bonjour
    La deuxième solution (SQL) est, de loin , la plus efficace !


    Quelle erreur ?

    Le message d'erreur :

    Le projet XXXX.Exe a provoqué une classe d'exception EAccess Violation avec le message "Violation d'acceès à l'adresse XXXXX dans le module XXXX.Exe, lecture de l'adresse 00000248", pocessus stopé


    Merci

  4. #4
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 096
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    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 : 14 096
    Par défaut
    Qry pointe sur un objet TQuery instancié ?

    le SQL est effectivement la solution à la plus facile !

    Pour utiliser FieldDefs+IndexDefs :
    - il faut faire d'abord un RenameTable
    - Faire un CreateTable
    - Faire un BatchMove sur la table renommé vers la table vide

    Enfin, les fonctions BDE comme DbiDoRestructure
    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
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 660
    Billets dans le blog
    65
    Par défaut
    Qry pointe sur un objet TQuery instancié ?
    +1

    un truc qui devrait fonctionner :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    begin
    ..
    with TQuery.Create(self);
    try
      DataBaseName:=monTDataBase;
      Sql.Text  := 'ALTER TABLE "MaTable.Db" Add "Champs" Char(1)';
      ExecSql;
    finally
     Free;
    end;
    ...
    end;

  6. #6
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 096
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    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 : 14 096
    Par défaut
    petite correction de syntaxe
    Pas non plus besoin de Onwer, InsertComponent est une opération un peu lente et pas très utile avec le finally qui provoquera un RemoveComponent

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ...
    with TQuery.Create(nil) do
    try
    ...
    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

Discussions similaires

  1. supprimer le contenu d'un champ dans une table paradox
    Par ouldfella dans le forum Bases de données
    Réponses: 1
    Dernier message: 19/04/2006, 13h24
  2. Ajout de champ dans une table
    Par captainamerica75 dans le forum Access
    Réponses: 9
    Dernier message: 09/02/2006, 13h47
  3. ajouter un champ dans une table existant
    Par zidenne dans le forum Bases de données
    Réponses: 3
    Dernier message: 29/10/2005, 21h27
  4. Ajouter des CHAMPS dans une table via ASP
    Par hysteresis dans le forum Access
    Réponses: 1
    Dernier message: 27/09/2005, 15h39
  5. Ajouter un champs dans une table (Access 2000)
    Par Didier100 dans le forum Bases de données
    Réponses: 2
    Dernier message: 12/10/2004, 13h02

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