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 :

j'arrive pas a inserer dans une table vide


Sujet :

Bases de données Delphi

  1. #1
    Nouveau membre du Club
    Inscrit en
    Octobre 2004
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 61
    Points : 28
    Points
    28
    Par défaut j'arrive pas a inserer dans une table vide
    Bonjour TLM

    je fait des traitements sur un DBGrid, en recuperant des données de mon DBGRid je veux faire des insertions de ses données dans une table (elle est vide),

    quand je boucle sur cette table avec : While not matable.eof, durant l'exécution le programme ne rentre pas dans la boucle, je crois que puisqu'elle est vide je ne peut pas entrée pour faire des insertions,

    y'a t'il une solution pour cela ???

    PS : j'ai fait un append au début du programme

  2. #2
    naw
    naw est déconnecté
    Membre à l'essai
    Inscrit en
    Juillet 2004
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 28
    Points : 22
    Points
    22
    Par défaut
    salam
    comment tu rempli le dbgrid
    Amicalement Nawel

  3. #3
    Nouveau membre du Club
    Inscrit en
    Octobre 2004
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 61
    Points : 28
    Points
    28
    Par défaut
    je rempli mon DBGrid a l'aide d'un requête SQL

  4. #4
    Nouveau membre du Club
    Inscrit en
    Octobre 2004
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 61
    Points : 28
    Points
    28
    Par défaut
    je rempli mon DBGrid a l'aide d'un requête SQL

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 265
    Points : 290
    Points
    290
    Par défaut
    Salut

    Si je comprends bien, il me semble que tu devrais faire ta boucle sur la requete de remplisage du grid. A chaque enregistrement de la requete tu inseres les donnees dans la table.

    @+

  6. #6
    naw
    naw est déconnecté
    Membre à l'essai
    Inscrit en
    Juillet 2004
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 28
    Points : 22
    Points
    22
    Par défaut
    salam
    donc il faut faire while query.eof

    cad parcourir le query un par un et rempilr la table vide


    while not query.eof do
    begin
    table.append

    tablechamp.value := querychamp.value;
    .
    .
    .
    table.post
    query.next
    end
    Amicalement Nawel

  7. #7
    Nouveau membre du Club
    Inscrit en
    Octobre 2004
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 61
    Points : 28
    Points
    28
    Par défaut
    oui zatoubux c'est bien ça,

    je fait des requêtes de count avec des données de mon DBGrid pour recuperer des valeurs, puis j'insère ses valeurs dans un table,

  8. #8
    Nouveau membre du Club
    Inscrit en
    Octobre 2004
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 61
    Points : 28
    Points
    28
    Par défaut
    voici mon 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
     
    [size=7]While not (dbgrid1.DataSource.DataSet.Eof) and (li <= dbgrid1.DataSource.DataSet.FieldCount) do
     begin
     
            query2.Close  ;
            query2.sql.clear;
            val := DBGrid1.DataSource.DataSet.Fields[0].AsString;
            val1 := query2.Sql.add ('select count(*) from EXPL Where         EXEQ=(:avion) and EXNAT = 1 ' );
            val2 := query2.Sql.add ('select count(*) from EXPL Where EXEQ=(:avion) and EXNAT = 3 ' );
            query2.ParamByName('avion').AsString := val;
            datamodule2.TMOUVAV.append;
            datamodule2.TMOUVAVAVIONS.text := val;
            datamodule2.TMOUVAVINTERNATIONAL.value := val1;
            datamodule2.TMOUVAVdomestique.value :=  val2;
            datamodule2.TMOUVAV.post;
            datamodule2.TMOUVAV.next;
            dbgrid1.DataSource.DataSet.Next;
     
    end ;[/size]
    maintenant je peut inserer des données dans ma table , mais le nouveau problème et que je boucle trois fois (testé pas a pas) mais je trouve dans ma table 4 enregistrement !!!

  9. #9
    naw
    naw est déconnecté
    Membre à l'essai
    Inscrit en
    Juillet 2004
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 28
    Points : 22
    Points
    22
    Par défaut
    salam

    essaye d'enlever
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    datamodule2.TMOUVAV.next;
    Amicalement Nawel

  10. #10
    Nouveau membre du Club
    Inscrit en
    Octobre 2004
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 61
    Points : 28
    Points
    28
    Par défaut
    même sans le ".next" j'ai toujours un enregistrement en plus dans ma table malgrè que la boucle tourne trois fois et dans ma table je trouve un enregistrement en répetition !

    et je ne sais pas pourquoi ???

  11. #11
    Nouveau membre du Club
    Inscrit en
    Octobre 2004
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 61
    Points : 28
    Points
    28
    Par défaut
    même sans le ".next" j'ai toujours un enregistrement en plus dans ma table malgrè que la boucle tourne trois fois et dans ma table je trouve un enregistrement en répetition !

    et je ne sais pas pourquoi ???

    je vais préciser que dans mon DBGrid et dans la colonne que je travaille, il y'a le nom de la colonne et trois enregistrement en tout

  12. #12
    Membre actif
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 265
    Points : 290
    Points
    290
    Par défaut
    Salut,

    rien à voir, mais par hasard... val1 vaut toujours 0 et val2 vaut toujours 1!

    @+

  13. #13
    Nouveau membre du Club
    Inscrit en
    Octobre 2004
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 61
    Points : 28
    Points
    28
    Par défaut
    oui c'est vrai

  14. #14
    naw
    naw est déconnecté
    Membre à l'essai
    Inscrit en
    Juillet 2004
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 28
    Points : 22
    Points
    22
    Par défaut
    salam

    tu a enlever le append du debut de programme??
    Amicalement Nawel

  15. #15
    Membre actif
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 265
    Points : 290
    Points
    290
    Par défaut
    oui c'est vrai
    et c'est normal :

  16. #16
    Nouveau membre du Club
    Inscrit en
    Octobre 2004
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 61
    Points : 28
    Points
    28
    Par défaut
    je crois que c'est bien normal en vue l'exécution du prgme pas a pas, c'est un bon résultat

    le problème et pourquoi ma boucle tourne trois fois et dans ma table MOUVAV il y'a 4 enregistrements !!!

  17. #17
    Nouveau membre du Club
    Inscrit en
    Octobre 2004
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 61
    Points : 28
    Points
    28
    Par défaut
    je crois que c'est bien normal en vue l'exécution du prgme pas a pas, c'est un bon résultat

    le problème et pourquoi ma boucle tourne trois fois et dans ma table MOUVAV il y'a 4 enregistrements alors que ma table été vide au début !!!

Discussions similaires

  1. lire un fichier et l'inserer dans une table
    Par Msysteme dans le forum C#
    Réponses: 9
    Dernier message: 26/06/2009, 17h47
  2. Réponses: 2
    Dernier message: 12/06/2008, 11h53
  3. Champ pas toujours renseigné dans une table
    Par Boubas1 dans le forum Modélisation
    Réponses: 1
    Dernier message: 12/05/2007, 06h57
  4. Réponses: 1
    Dernier message: 03/08/2006, 13h08
  5. Je n'arrive pas à un treeview pour une table Access
    Par clemasson dans le forum Access
    Réponses: 2
    Dernier message: 01/03/2006, 12h49

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