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

 Delphi Discussion :

base de donnee vide a chaque redemarrage de pc


Sujet :

Delphi

  1. #1
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2013
    Messages : 37
    Points : 15
    Points
    15
    Par défaut base de donnee vide a chaque redemarrage de pc
    bonjours a tous;
    je débute dans delphi et j'utilise delphi6 avec windows7,
    j'ai realiser un petit programme qui englobe l'enregistrement +la recherche d'une fiche..pour cela j'ai utiliser une base de donnée paradox7...
    quand j’exécute le programme tout ce passe bien..j'ai fait quelques enregistrements sur la bd et ça marche...
    mais si je redemarre mon pc tout les enregistrement s'efface et la base de donnee devient vide et elle recommence de nouveau (l'indice devient 1)...
    je comprends pas le probleme est du a quoi exactement...
    si quelqu'un peux m'aider je serai reconnaissante..
    merci bien

  2. #2
    Expert confirmé
    Avatar de Ph. B.
    Homme Profil pro
    Freelance
    Inscrit en
    Avril 2002
    Messages
    1 784
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 784
    Points : 5 915
    Points
    5 915
    Par défaut
    Bonjour,

    Tracez pas à pas votre programme. Vous devez avoir quelque part du code soit qui recrée une base vide (écrasant l’existante), soit qui vide les tables lors de leur ouverture...
    AMHA, je pencherais pour la 1° éventualité au vu des indices donnés...
    Philippe.

  3. #3
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2013
    Messages : 37
    Points : 15
    Points
    15
    Par défaut
    merci beaucoup Ph.B. pour la réponse
    mais svp: quel est le code que je dois taper ici ? celui de projet1.exe en générale ou celui de chaque unité???

  4. #4
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 459
    Points : 24 873
    Points
    24 873
    Par défaut
    N'est ce pas la même question : [Paradox] Problème: les données sont vidées lors de la fermeture du programme

    Lorsque l'on modifie un TTable posée sur une TForm ou sur un TDataModule, lors de sa libération cela n'écrit pas les données en mémoire, il faut le lui dire !

    Lors de la fermeture du programme, il faut faire un Close explicite sur chaque TTable !
    Il est évident par rigueur que chaque Open() ou Active soit accompagné tôt ou tard par un Close() au même titre que Create et Free

    FlushBuffers fera aussi ce travail tout en conservant la table ouverte, cela peut être fait régulièrement, utile pour l'accès concurrentiel en réseau, cela permet d'envoyer les données immédiatement après modification

    Les experts en Paradox en parlerons mieux que moi à ce sujet
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  5. #5
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2012
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2012
    Messages : 111
    Points : 171
    Points
    171
    Par défaut explication en programme
    bon jour
    voici l'explication de ce qui dit Mr ShaiLeTroll dans un petit programme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    procedure TForm1.FormCreate(Sender: TObject);
    begin
    table1.Open; // ouvrire la table automatiquement a chaque demarage de votre application
    end;
     
    procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
    begin
    table1.Close; // fermeture automatique de votre table a chaque fermeture d'application
    end;
    procedure TForm1.Table1AfterPost(DataSet: TDataSet);
    begin
    table1.FlushBuffers; // c'est lâ votre probleme la sauve garde phisique apré chaque poste
    end;
    utilisez aussi 'FlushBuffers' aprés chaque suppression afterdelete)

    noublie pas de marque votre problemme comme résolue

    bon courage .

  6. #6
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2013
    Messages : 37
    Points : 15
    Points
    15
    Par défaut
    merci tarek pour votre explication;
    j'ai procéder comme tu ma dis et j'ai copier le code que tu ma donner ..
    il m'affiche le message d'erreur suivant:



    j'ai essayer de supprimer l’icône de menu et de le recréer de nouveau mais toujours le même message...alors j'ai annuler toute modification apporter au projet et j'ai essayer de l’exécuter ...et rien ne se passe avec un message d'erreur en bas:

    [Erreur fatale] Impossible de créer le fichier de sortie 'C:\delphi\Projects\Nouveau\Project1.exe'

    Images attachées Images attachées  

  7. #7
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2012
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2012
    Messages : 111
    Points : 171
    Points
    171
    Par défaut
    bon jour
    je pense que votre message d'erreur n'a rien a voire avec notre probleme.(c'est un autre probleme ) veux tu nous donner votre source pour que nous puissent vous aidez .

  8. #8
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2013
    Messages : 37
    Points : 15
    Points
    15
    Par défaut
    voici le code du fiche ou sa plante

    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
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    unit Unit3;
     
    interface
     
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, DBCtrls, Mask, ExtCtrls, Grids, DBGrids, Menus, DB,
      DBTables;
     
    type
      TForm3 = class(TForm)
        DBNavigator1: TDBNavigator;
        DBEdit1: TDBEdit;
        DBEdit2: TDBEdit;
        DBEdit3: TDBEdit;
        DBEdit4: TDBEdit;
        DBGrid1: TDBGrid;
        Label1: TLabel;
        Label2: TLabel;
        Label3: TLabel;
        Label4: TLabel;
        Label5: TLabel;
        Label6: TLabel;
        Label7: TLabel;
        Table1: TTable;
        DataSource1: TDataSource;
        DBEdit5: TDBEdit;
        DBEdit6: TDBEdit;
        DBEdit7: TDBEdit;
        MainMenu1: TMainMenu;
        Ficher1: TMenuItem;
        Recherche1: TMenuItem;
        Quitter1: TMenuItem;
        ParNFiche1: TMenuItem;
        ParNDossier1: TMenuItem;
        ParExpediteur1: TMenuItem;
        ParService1: TMenuItem;
        DBEdit8: TDBEdit;
        Label8: TLabel;
        procedure Quitter1Click(Sender: TObject);
        procedure ParNFiche1Click(Sender: TObject);
        procedure ParExpediteur1Click(Sender: TObject);
        procedure ParNDossier1Click(Sender: TObject);
        procedure ParService1Click(Sender: TObject);
        procedure FormCreate(Sender: TObject);
        procedure FormClose(Sender: TObject; var Action: TCloseAction);
        procedure Table1AfterPost(DataSet: TDataSet);
     
      private
        { Déclarations privées }
      public
        { Déclarations publiques }
      end;
     
    var
      Form3: TForm3;
     
    implementation
    uses Unit5, Unit6, Unit7, Unit8;
    {$R *.dfm}
     
    procedure TForm3.Quitter1Click(Sender: TObject);
    begin
    close;
    end;
     
    procedure TForm3.ParNFiche1Click(Sender: TObject);
    begin
    form5.show;
    end;
     
    procedure TForm3.ParExpediteur1Click(Sender: TObject);
    begin
    form6.show;
    end;
     
    procedure TForm3.ParNDossier1Click(Sender: TObject);
    begin
    form7.show;
    end;
     
    procedure TForm3.ParService1Click(Sender: TObject);
    begin
    form8.show;
    end;
     
     
    procedure TForm3.FormCreate(Sender: TObject);
    begin
    table1.Open; 
    end;
     
    procedure TForm3.FormClose(Sender: TObject; var Action: TCloseAction);
    begin
    table1.Close;
    end;
    procedure TForm3.Table1AfterPost(DataSet: TDataSet);
    begin
    table1.FlushBuffers; 
    end;
     
    end.
    merci encore

  9. #9
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2012
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2012
    Messages : 111
    Points : 171
    Points
    171
    Par défaut le code du fiche ou sa plante
    bon jour
    sa plante ou exactement a quel ligne

  10. #10
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2013
    Messages : 37
    Points : 15
    Points
    15
    Par défaut
    Citation Envoyé par tarekk73 Voir le message
    bon jour
    voici l'explication de ce qui dit Mr ShaiLeTroll dans un petit programme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    procedure TForm1.FormCreate(Sender: TObject);
    begin
    table1.Open; // ouvrire la table automatiquement a chaque demarage de votre application
    end;
     
    procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
    begin
    table1.Close; // fermeture automatique de votre table a chaque fermeture d'application
    end;
    procedure TForm1.Table1AfterPost(DataSet: TDataSet);
    begin
    table1.FlushBuffers; // c'est lâ votre probleme la sauve garde phisique apré chaque poste
    end;
    utilisez aussi 'FlushBuffers' aprés chaque suppression afterdelete)

    noublie pas de marque votre problemme comme résolue

    bon courage .
    je vous remercie tarek ..mon probleme est resolu a cause de votre explication...merci beaucoup

  11. #11
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2013
    Messages : 37
    Points : 15
    Points
    15
    Par défaut
    merci beaucoup tarek pour l'explication..

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 17/05/2005, 20h50
  2. taille maximale d'une base de donnée paradox
    Par Anonymous dans le forum Paradox
    Réponses: 5
    Dernier message: 14/02/2004, 17h39
  3. [sgbd] Accès au base de données en Perl
    Par totox17 dans le forum SGBD
    Réponses: 3
    Dernier message: 24/02/2003, 16h05
  4. [VB6] [Access] Compacter une base de donnée
    Par mdoyer dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 24/09/2002, 11h33
  5. [VB6] [ODBC] Référencer une base de données avec vb
    Par af.balog dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 13/09/2002, 09h51

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