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

C++Builder Discussion :

Cr�ation multiple table paradox dans le code


Sujet :

C++Builder

  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    38
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 38
    Par d�faut [RESOLU] Cr�ation multiple table paradox dans le code
    salut,

    Voila mon probleme : je construit ma base de donnee paradox suivant le code ci dessous (ca marche tres bien)
    Puis je veux en faire une deuxieme et ....

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
      // on peut créer la base
      FormPrincipale->TableBase->Active = false; // Le composant Table ne doit pas être actif
      FormPrincipale->TableBase->DatabaseName = ""; // laisser vide cherche la base dans le repertoire actuel
      FormPrincipale->TableBase->TableType = ttParadox;
      FormPrincipale->TableBase->TableName = NomBase;
     
      if (!FormPrincipale->TableBase->Exists) // Ne remplace pas une table existante
      {
        FormPrincipale->TableBase->FieldDefs->Add("Numero",ftAutoInc,0,false); // ERREUR
        FormPrincipale->TableBase->FieldDefs->Add("Titre",ftString,100,false);
        FormPrincipale->TableBase->FieldDefs->Add("Auteur",ftString,100,false);
        FormPrincipale->TableBase->FieldDefs->Add("Reference",ftString,100,true);
        FormPrincipale->TableBase->FieldDefs->Add("Clef",ftString,100,true);
        FormPrincipale->TableBase->FieldDefs->Add("Date",ftInteger,0,false);
        //FormPrincipale->TableBase->FieldDefs->Add("Lien",ftString,100,false);
     
        // Maintenant que vous avez spécifié votre choix, création de la table
        FormPrincipale->TableBase->CreateTable();
      }
    Message d'erreur = Le champ Numero existe deja ! (Il semble vouloir utiliser la premiere base)


    Mais une erreur se produit lorsque je veux cr�er une deuxieme base. Apparement il faudrait deactiver la premier avant de cr�er la suivante.
    Comme fait on ? "TableBase->Active = false" ne semble pas etre suffisant !

    Si qqun sait quel bout de code il me manque pour que je puisse cr�er autant de base que je veux les une � la suite des autres !
    MERCI

  2. #2
    LFE
    LFE est d�connect�
    Membre Expert

    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    95
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2002
    Messages : 95
    Par d�faut
    le nom de la tble doit etre change aussi ...
    ou alors elle doit avoir ete effacee avant,

    Si j'ai boen compris ton probleme.

  3. #3
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    38
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 38
    Par d�faut
    oui j'explique en entier

    Je cr�e un base en demandant le nom � l'utilisateur. Une fois cette base cr�e je veux en cr�er une autre et que celle ci devienne la base utilis�e !

    En gros j'ai la base A qui est en cours d'utilisation et je veux que la base B (que je cr�e avec mon code) devienne la base que l'on va utiliser

    Or lorsque je le fais, il plante �
    FormPrincipale->TableBase->FieldDefs->Add("Numero",ftAutoInc,0,false);

    car il essayer de rejouter un champ Numero � la base A (qui a deja un champ identique) alors que moi je veux que c'est nouveau champ soit pour la base B que je veux cr�er

    Plus clair ? j'espere sinon personne ne pourra m'aider

  4. #4
    LFE
    LFE est d�connect�
    Membre Expert

    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    95
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2002
    Messages : 95
    Par d�faut
    A mon avis, tu devrais fermer A,
    changer le nom de la table en B,
    ajouter les champs et la creer.

    Ceci dit sans avoir esay�, mais ca devrait marcher

  5. #5
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    38
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 38
    Par d�faut
    Et comment on "ferme" une base ?

    J'ai essay� active = false
    j'ai essay� close au dataset
    ....

  6. #6
    LFE
    LFE est d�connect�
    Membre Expert

    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    95
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2002
    Messages : 95
    Par d�faut
    active = false devrait etre suffisant

  7. #7
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    38
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 38
    Par d�faut
    Apparement non car je le fais avant de cr�er ma nouvelle table (voir code ci dessus)

    bon ben mistere

  8. #8
    LFE
    LFE est d�connect�
    Membre Expert

    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    95
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2002
    Messages : 95
    Par d�faut
    Tu fermes la table, mais sa structure est deja declaree, donc pas besoin d'ajouter a nouveau des champs exuitants dans la structure.

  9. #9
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    38
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 38
    Par d�faut
    tu avais raison !

    Avant de cr�er de nouvelles definitions de champs il faut nettoyer tout ca !

    Donc avant mon "if", il faut ecrire :

    FormPrincipale->TableBase->FieldDefs->Clear();

    Merci

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 5
    Dernier message: 03/08/2007, 12h52
  2. [VB.NET] Probleme de cr�ation d'une picturebox dans le code
    Par stringman62 dans le forum Windows Forms
    R�ponses: 5
    Dernier message: 07/02/2006, 16h56
  3. Comment trier une table paradox dans un Ttable sur un Dbgrid
    Par amireve dans le forum Bases de donn�es
    R�ponses: 5
    Dernier message: 26/12/2005, 19h28
  4. sauver script de cr�ation de table temporaire dans la base
    Par Bruno75 dans le forum MS SQL Server
    R�ponses: 7
    Dernier message: 31/10/2005, 17h09
  5. (VC++6 /C) Pb de cr�ation de table Paradox
    Par Vow dans le forum Paradox
    R�ponses: 4
    Dernier message: 28/09/2004, 13h15

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