Bonjour, j'avais commence une appli avec DBExpress/Interbase 6.

Je viens de migrer ma BDD vers Firebird 1.5 qui est plus avance.
Ce que j'avais fais ne fonctionne plus ! Je n'arrive plus a enregistrer mes modifications dans la base.
j'ai un DataModule sur lequel il y a :
TSQLConnection
TSQLClientDataSet
TDataSource

J'ai une forme avec un DBGrid lie a TDataSource.

Je fais (en fait je faisais puisque ca marche plus) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
TSQLClientDataSet.CommandText := 'SELECT * FROM MaTable T WHERE T.NomCli = :Nom';
TSQLClientDataSet.Params.CreateParams(ftString,'Nom',ptInput);
TSQLClientDataSet.Params[0].AsString := 'laurent';
TSQLClientDataSet.Open;
jusque la pas de probleme, je peux visionner l'enregistrement dans ma DbGrid et je peux meme le modifier. mais des que je fais :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
TSQLClientDataSet.Post;
TSQLClientDataSet.ApplyUpdate(0);
sur le post pas de souci, mais sur le applyupdate, delphi me renvoie le message d'erreur :
Le projet ### a provoque une classe d'exception EDatabaseError avec le message 'Enregistrement introuvable, aucune clé spécifiée'. Processus stoppé. Utilisez pas à pas ...
Et la je suis perdu, merci de m'aider !!!