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 :

Probleme d'insertion d'une clef primaire OleAdo


Sujet :

C++Builder

  1. #1
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Points : 3 766
    Points
    3 766
    Par défaut Probleme d'insertion d'une clef primaire OleAdo
    A la suite de comment creer une base vide Access sans Access, j'ai fais des recherches, et j'ai trouve comment creer une table, et inserrer des champs, seulement je n'arrive pas a inserrer un champ pour une clef primaire.
    La Form contient un TButton un TADOCommand un TADOConnection
    Le code:
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    //---------------------------------------------------------------------------
    #include <vcl.h>
    #pragma hdrstop
    #include <ComObj.hpp>
    #include "Ouvrir_Base_Vide.h"
    //---------------------------------------------------------------------------
    #pragma package(smart_init)
    #pragma resource "*.dfm"
    TForm1 *Form1;
    //---------------------------------------------------------------------------
    __fastcall TForm1::TForm1(TComponent* Owner)
            : TForm(Owner)
    {
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
    // ne pas oublier d'inclure #include <comobj.hpp>
    Variant vADO;
    AnsiString Filename = "C:\\Documents and Settings\\blondelle\\Mes documents\\BASES\\maBdd26.mdb";
    if (FileExists(Filename.c_str()))
      {
    DeleteFile(Filename);
      }
    AnsiString provider = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" +Filename+";";
    vADO = Variant::CreateObject("ADOX.Catalog");
    vADO.OleFunction("create", provider.c_str());
    // on connecte ADOConnection
            ADOConnection1->ConnectionString = provider;
            ADOConnection1->LoginPrompt = false;
            ADOCommand1->Connection = ADOConnection1;
    // on cree une table vide au Nom Essai
            AnsiString nom_table = "CREATE TABLE Essai (typename TEXT(50))";
            ADOCommand1->CommandText = nom_table;
            ADOCommand1->Execute();
    // on cree les entetes de trois colonnes authorname, email, web dans une table au nom Authors
            AnsiString nomTable_colonnes = "CREATE TABLE Authors (authorname TEXT(50),email TEXT(50),web TEXT(50))";
            ADOCommand1->CommandText = nomTable_colonnes;
            ADOCommand1->Execute();
    // les clefs primaires ne se crees pas
    // on cree une clef primaire dans la table Essai
    AnsiString clef = "CREATE INDEX idxPrimary ON Essai (typename) WITH PRIMARY";
    ADOCommand1->CommandText = clef;
    ADOCommand1->Execute();
    // on cree une clef primaire dans la table Authors
    AnsiString clef1 = "CREATE INDEX idxPrimary ON Authors (authorname) WITH PRIMARY";
    ADOCommand1->CommandText = clef1;
    ADOCommand1->Execute();
    // en quittant on libere les Variant
    vADO = Unassigned;
    }

  2. #2
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Points : 3 766
    Points
    3 766
    Par défaut
    En fait je viens de m'appercevoir qu'il n'y a pas de probleme, le programme fonctionne parfaitement, le fait de definir comme clef primaire une colonne ne met qu'un attribut mais ne change rien dans la colonne.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Générer une clef primaire aleatoire?
    Par 12_darte_12 dans le forum Administration
    Réponses: 4
    Dernier message: 18/07/2005, 18h10
  2. insertion d'une clé primaire avec un "d" apostroph
    Par imer5 dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 18/05/2005, 14h51
  3. [interbase6]probleme d'insertion dans une table
    Par macadam314 dans le forum Bases de données
    Réponses: 10
    Dernier message: 22/02/2005, 14h21
  4. Comment comment définir une clef primaire dans une table??
    Par nek_kro_kvlt dans le forum Bases de données
    Réponses: 4
    Dernier message: 07/02/2005, 21h06
  5. Réponses: 2
    Dernier message: 22/07/2004, 00h27

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