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 :

comment vider mes tables a la fin


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 comment vider mes tables a la fin
    Bonjour TLM

    j'ai deux tables qui se sont rempli (je fait des insertions chaque fois que je recupère des données depuis la requête select).

    mais moi je veux que mes tables soient vide après que je ferme ma fiche (c'est a dire que les tables soient vide avant chaque traitement(insertion de données et affichage) , et se vide après la fin du traitement, j'ai essayé avec DELETE from table1 et delete from table2 mais les données reste toujours

    se vide après chaque fin du traitement (insertion de données et affichage) se suffit.

    comment le faire !

  2. #2
    Membre averti Avatar de chtiot
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    385
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 385
    Points : 403
    Points
    403
    Par défaut
    tu peux donner le code à l'endroit où tu fais ton delete?

  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
    mon code est un peut long. mais je vous donne un schema de mon code

    1- mes deux table sont vides

    2- traitement...
    traitement...
    traitement...

    3- insertion de données dans mes tables (je boucle et j'insert)

    4- affichage de mes tables dans deux DBGrid (avec Select)

    5- faire un DELETE sur mes table

    mais si tu insiste (pour que tu voit mieux) sur mon code dit le et je vais le données

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 56
    Points : 45
    Points
    45
    Par défaut
    oui je veux bien ton code

  5. #5
    Membre averti Avatar de chtiot
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    385
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 385
    Points : 403
    Points
    403
    Par défaut
    oui mais donne ton code à l'endroit ou tu fais le delete

  6. #6
    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
    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
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
     
    ////on remplit la table MOUVAV par le contenu de DBGrid1 
    With dbgrid1.DataSource.DataSet do
    Begin
      for li:=0 to pred(RecordCount) do
      begin
         val2 := DBGrid1.DataSource.DataSet.Fields[0].AsString;
         val := DBGrid1.DataSource.DataSet.Fields[1].AsString;
         val1 := DBGrid1.DataSource.DataSet.Fields[2].value;
     
         datamodule2.TMOUVAV.Append;
         datamodule2.TMOUVAVNVOL.text := val2;
         datamodule2.TMOUVAVAVIONS.text := val;
         datamodule2.TMOUVAVNATURE.value := val1;
         datamodule2.TMOUVAV.post;
         dbgrid1.DataSource.DataSet.Next;
      End;
    End;
     
    // on affiche dans DBGrid2 le contenu de la table MOUVAV ///
     
    query2.Close  ;
    query2.sql.clear;
    query2.Sql.add ('Select * from MOUVAV');
    query2.Open;
     
    // on affiche dans DBGrid3 le contenu de MOUVAV ( le champs AVIONS) 
     
    query3.Close  ;
    query3.sql.clear;
    query3.Sql.add ('Select DISTINCT AVIONS From MOUVAV');
    query3.Open;
     
    // on remplit les champs de la table MVAV
     
    int := 0; dom := 0;
     
    With dbgrid3.DataSource.DataSet do
    Begin
      for li:=0 to pred(RecordCount) do
          begin
          av := DBGrid3.DataSource.DataSet.Fields[0].AsString;
          datamodule2.TMOUVAV.First;
          While  not (datamodule2.TMOUVAV.Eof) do
            Begin
            datamodule2.TMVAV.Append;
             if (datamodule2.TMOUVAVAvions.Value = av ) and ( datamodule2.TMOUVAVnature.value = 1) Then int := int + 1;
             if (datamodule2.TMOUVAVAvions.Value = av ) and ( datamodule2.TMOUVAVnature.Value = 3) Then dom := dom + 1;
                 datamodule2.TMOUVAV.Next;
                 End;
          datamodule2.TMVAVAVIONS.value := av;
          datamodule2.TMVAVINTERNATIONAL.Value := int;
          datamodule2.TMVAVDOMESTIQUE.Value := dom;
          datamodule2.TMVAVTOTAL.value := int + dom;
          int := 0; dom := 0;
          dbgrid3.DataSource.DataSet.Next;
          datamodule2.TMVAV.Next;
          end;
    End;
     
     
    // on affcihe dans DBGrid4 les resultats souhaité (final) ///
     
     
     
    Query4.Close;
    Query4.SQL.Clear;
    query4.Sql.add ('Select AVIONS, INTERNATIONAL, DOMESTIQUE, TOTAL From MVAV');
    query4.Open;
     
    /// on vide les deux table MOUVAV et MVAV
     
    Query4.Close;
    Query4.SQL.Clear;
    query4.Sql.add ('DELETE from MVAV');
     
    query3.Close  ;
    query3.sql.clear;
    query4.Sql.add ('DELETE from MOUVAV');
     
    end;


    j'espère que le code est claire (et tu ne le regretera pas de le cherché lolll)

  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
    bon pour le dernier query c'est query3 et non pas query 4, j'ai fait copie coller et j'ai pas changé, désolé, bon a toi de voir maintenant

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 56
    Points : 45
    Points
    45
    Par défaut
    Il te manque

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Query4.Close; 
    Query4.SQL.Clear; 
    query4.Sql.add ('DELETE from MVAV'); 
    query4.execsql;
     
    query3.Close  ; 
    query3.sql.clear; 
    QUERY3 et non 4.Sql.add ('DELETE from MOUVAV'); 
    query3.execsql;

  9. #9
    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
    ca marche pour la table MOUVAV, mais pour la table MVAV le DBGrid4 n'affiche rien , alors qu'il devrait afficher qlq chose

  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
    j'ai du mettre un query5 avec

    Query5.Close;
    Query5.SQL.Clear;
    query5.Sql.add ('DELETE from MVAV');
    query5.execsql;

    au lieu de

    Query4.Close;
    Query4.SQL.Clear;
    query4.Sql.add ('DELETE from MVAV');
    query4.execsql;

    et avec query5 ca marche très bien

    merci pour query.execsql et pour l'aide en générale

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

Discussions similaires

  1. comment vider la table d'adresses mac d'un switch non manageable ?
    Par fourchette dans le forum Dépannage et Assistance
    Réponses: 12
    Dernier message: 13/10/2012, 14h44
  2. Comment vider une table ?
    Par delphino7 dans le forum Bases de données
    Réponses: 10
    Dernier message: 19/04/2008, 10h39
  3. Comment vider la table MSysGenHistory ?
    Par Berns dans le forum Access
    Réponses: 6
    Dernier message: 29/03/2006, 09h20
  4. Comment modifier mes tables liées?
    Par euskal75 dans le forum Access
    Réponses: 2
    Dernier message: 14/02/2006, 15h35
  5. comment vider une table de tous ses enregistrements ?
    Par bertrand_declerck dans le forum Bases de données
    Réponses: 3
    Dernier message: 29/07/2005, 10h19

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