Bonjour à tous,
Quelqu'un sait-il pourquoi l'éxecution de ApplyUpdates et de CommitUpdates M'engendre t-il me message d'erreurEnregistrement/Clé effacé
Merci d'avance.
Bonjour à tous,
Quelqu'un sait-il pourquoi l'éxecution de ApplyUpdates et de CommitUpdates M'engendre t-il me message d'erreurEnregistrement/Clé effacé
Merci d'avance.
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
Alors j'utilise des Ttables, des Tquerys.
C'est un base Access.
Le code que j'utilise et le suivant
J'ai essayé le mode pas à pas, cela ne m'a rien donné.
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
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..." ?
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 :
- Les règles du forum tu liras
- La FAQ et les tutoriels tu consulteras
- La fonction Recherche tu utiliseras
- Google tu vénèreras
__________
Rayek World : Youtube Facebook
Par dépis c'est justement ce que je m'appretais à faire
[EDIT]
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.
@+
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager