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 :

Ajouter une colonne à un ClientDataSet déjà créé


Sujet :

Bases de données Delphi

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    292
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 292
    Points : 222
    Points
    222
    Par défaut Ajouter une colonne à un ClientDataSet déjà créé
    Je fais ca et n'ayant trouvé l'inverse de CreateDataSet je me contente d'un Fields.Clear.
    Cela foire

    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
    procedure TForm1.Button1Click(Sender: TObject);
    var
            AField: TIntegerField;
    begin
            AField := TIntegerField.Create(ClientDataSet1);
            AField.Name := 'Field1';
            AField.FieldName := 'Field1';
            AField.DataSet := ClientDataSet1;
            ClientDataSet1.CreateDataSet;
            ClientDataSet1.Close;
            ClientDataSet1.Fields.Clear;
            AField := TIntegerField.Create(ClientDataSet1);
            AField.Name := 'Field1';
            AField.FieldName := 'Field1';
            AField.DataSet := ClientDataSet1;
            AField := TIntegerField.Create(ClientDataSet1);
            AField.Name := 'Field2';
            AField.FieldName := 'Field2';
            AField.DataSet := ClientDataSet1;
            ClientDataSet1.CreateDataSet; // <- c est là ou ca foire
            ClientDataSet1.Open;
            ClientDataSet1.Insert;
            ClientDataSet1.Fields[0].Value := 4;
            ClientDataSet1.Insert;
            ClientDataSet1.Fields[0].Value := 5;
    end;
    Avez vous une idée ?

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 343
    Points : 392
    Points
    392
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    AField := TIntegerField.Create(ClientDataSet1);
            AField.Name := 'Field1';
            AField.FieldName := 'Field1';
            AField.DataSet := ClientDataSet1;
            AField := TIntegerField.Create(ClientDataSet1); ?????????????????
            AField.Name := 'Field2';
            AField.FieldName := 'Field2';
            AField.DataSet := ClientDataSet1;
            ClientDataSet1.CreateDataSet; // <- c est là ou ca foire
    La ou j'ai mis ???????, tu écrases ta variable AField par un nouvel objet!!! c'est pas la le bug ou je crois que je comprend pas ton code commente le...
    [modération de Pedro]

    [/modération]

Discussions similaires

  1. Ajouter une colonne en première position
    Par Alexandre T dans le forum Oracle
    Réponses: 22
    Dernier message: 25/10/2005, 11h58
  2. [SQL Server 2000] ajouter une colonne identité dans une vue?
    Par CetTer dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 02/08/2005, 13h43
  3. [JTable] ajouter une colonne de checkbox
    Par nawel dans le forum Composants
    Réponses: 3
    Dernier message: 04/05/2005, 14h07
  4. [ADO.Net][VB.NET] Comment ajouter une colonne Integer à un DataTable ?
    Par graphicsxp dans le forum Accès aux données
    Réponses: 2
    Dernier message: 20/04/2005, 12h08

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