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 :

Enregistrement clé effacée


Sujet :

Bases de données Delphi

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2011
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 45
    Points : 14
    Points
    14
    Par défaut Enregistrement clé effacée
    Bonjour à tous,

    Quelqu'un sait-il pourquoi l'éxecution de ApplyUpdates et de CommitUpdates M'engendre t-il me message d'erreur
    Enregistrement/Clé effacé


    Merci d'avance.

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 036
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 036
    Points : 40 942
    Points
    40 942
    Billets dans le blog
    62
    Par défaut
    Il serait préférable que tu donne un peu plus de détails
    -composants utilisés
    -base utilisé
    et mettre le code incriminé

    Si beaucoup de personnes on lu le post , personne ne peut répondre à une question aussi vague
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2011
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 45
    Points : 14
    Points
    14
    Par défaut
    Alors j'utilise des Ttables, des Tquerys.
    C'est un base Access.

    Le code que j'utilise et le suivant
    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
     
    .....
    .....
     FormGestion.TableParc.InsertRecord([Nom_imprim,'','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','']);
    //Correspond aux nombres de colonnes de ma Base, pour créer un nouveau champ vide 
    FormGestion.TableParc.Edit;
    FormGestion.TableParc.FieldByName('NOM').Text:=Nom_imprim;
    .....
    ....
    //Je rentre les valeurs que jai récupéré et qui sont exactes, j'ai vérifié par des showmessages
    ....
    ....
    FormGestion.tableParc.ApplyUpdates; // on applique les changements
    FormGestion.tableParc.CommitUpdates;
    FormGestion.TableParc.Close; // on ferme la base
    J'ai essayé le mode pas à pas, cela ne m'a rien donné.

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    707
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 707
    Points : 777
    Points
    777
    Par défaut
    Wow, drôle de façon de faire (enfin, si ce que je crois comprendre ce que tu crois faire) !?
    Et comment tu "rentres les valeurs récupérées et qui sont exactes..." ?

  5. #5
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Citation Envoyé par rhodia Voir le message
    Alors j'utilise des Ttables, des Tquerys.
    C'est un base Access.

    Le code que j'utilise et le suivant
    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
     
    .....
    .....
     FormGestion.TableParc.InsertRecord([Nom_imprim,'','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','']);
    //Correspond aux nombres de colonnes de ma Base, pour créer un nouveau champ vide 
    FormGestion.TableParc.Edit;
    FormGestion.TableParc.FieldByName('NOM').Text:=Nom_imprim;
    .....
    ....
    //Je rentre les valeurs que jai récupéré et qui sont exactes, j'ai vérifié par des showmessages
    ....
    ....
    FormGestion.tableParc.ApplyUpdates; // on applique les changements
    FormGestion.tableParc.CommitUpdates;
    FormGestion.TableParc.Close; // on ferme la base
    J'ai essayé le mode pas à pas, cela ne m'a rien donné.
    Et le jour ou tu rajoutes un champ à ta table ... pan !! ça pète.

    Vaut mieux faire cela avec une requete

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    With FormGestion do
    begin
      UneQuery.Close;
      UneQuery.SQL.Clear;
      UneQuery.SQL.Add('Insert into [Mettre le nom de la table]( [NomduChamp1Dans la table],[NomDuChamp2Dans la table], [etc ...] )');
      UneQuery.SQL.Add('Values(:Valeur1,:Valeur2, :Etc...)');
      UneQuery.ParamCheck := True;
      UneQuery.ParamByName('Valeur1').AsString := Nom_Imprim;
      UneQuery.ParamByName('Valeur2').AsString := [UnChampqueTudoisInserer];
    // etc ... pour les params
      UneQuery.ExecSql;
    end;
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  6. #6
    Membre à l'essai
    Inscrit en
    Avril 2011
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 45
    Points : 14
    Points
    14
    Par défaut
    Par dépis c'est justement ce que je m'appretais à faire

    [EDIT]

  7. #7
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Citation Envoyé par rhodia Voir le message
    Par dépis c'est justement ce que je m'appretais à faire
    C'est original de dire que l'on choisi la meilleure solution par dépit.

    Dans la mesure du possible il faut toujours privilégier l'utilisation d'une requête pour la mise à jour des données.
    C'est plus souple et bien plus efficace que notamment le balayage d'un DataSet comme on le voit trop souvent.

    @+

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

Discussions similaires

  1. enregistrement sans effacer
    Par olive34 dans le forum IHM
    Réponses: 1
    Dernier message: 06/11/2013, 19h28
  2. Enregistrements s'effacent de la table
    Par zidane22 dans le forum VB.NET
    Réponses: 13
    Dernier message: 23/09/2013, 13h55
  3. [AC-2007] enregistrer sans effacer zone de texte
    Par ulovb dans le forum IHM
    Réponses: 1
    Dernier message: 23/12/2011, 20h49
  4. Enregistrement clé effacée sur ACCESS
    Par gastonbach dans le forum Bases de données
    Réponses: 2
    Dernier message: 26/05/2005, 11h51
  5. Effacer l'enregistrement courant?
    Par juliea dans le forum Langage SQL
    Réponses: 2
    Dernier message: 20/12/2004, 10h48

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