Delphi et MySQL - champ AutoInc et manière de poster les modifications
bigjuice69
Messages postés4Date d'inscriptionmardi 14 avril 2009StatutMembreDernière intervention18 juin 2010
-
18 juin 2010 à 16:25
ThWilliam
Messages postés418Date d'inscriptionmardi 3 janvier 2006StatutMembreDernière intervention26 novembre 2013
-
19 juin 2010 à 12:08
Bonjour à tous,
Question #1
J'ai une application qui se branche à une table MySQL (employe). Cette table contient plusieurs champs, dont le champ PRIMAIRE : idemploye INT AutoInc.
Mais lorsque j'essais d'ajouter un employe dans mon application:
J'ai une application qui sera exécutée par plusieurs utilisateurs, qui feront des modifications dans la même base de données. Cette application utilise les composantes suivantes pour se connecter aux tables :
- TSQLConnection
- TSQLDataset
- TDataSetProvider
- TClientDataSet
- TDataSource
La manière dont je post les records présentement est comme plus haut dans mon message : Append, Post et tout suite après le post je fais un ApplyUpdates....
Je ne trouves pas ça très pratique... Mais si nous attendons avant de faire le ApplyUpdates, les utilisateurs peuvent modifier les mêmes records et certaines modifications ne seront pas enregistrées.
Merci de m'éclairer sur ce point aussi
Merci énormément à tous ceux qui prendront du temps pour répondre à ma question!
BigJuice69
A voir également:
Delphi et MySQL - champ AutoInc et manière de poster les modifications
cleecky
Messages postés49Date d'inscriptionmercredi 19 mai 2010StatutMembreDernière intervention30 mars 2011 18 juin 2010 à 17:08
Cette question pour répondre à ta première question, je ne suis pas encore très à l'aise avec delphi, et je n'utilise pas la même technique que toi pour modifier les données de ma base MySQL.
Mais ce qui est sur c'est que pour l'ajout des auto-incrément je ne rempli pas le champs...
C'est à dire requête de ce type :
maRequete := 'insert into employe values('''',''jean'',''jacques'',''cadre'',1500);'
bigjuice69
Messages postés4Date d'inscriptionmardi 14 avril 2009StatutMembreDernière intervention18 juin 2010 18 juin 2010 à 17:11
d'accord cleecky, et oui ta manière fonctionne. Mais moi ce que je voudrais c'est faire l'ajout d'enregistrements à partir des composantes déposées sur la Form.
Merci beaucoup de ton aide quand même
Vous n’avez pas trouvé la réponse que vous recherchez ?
ThWilliam
Messages postés418Date d'inscriptionmardi 3 janvier 2006StatutMembreDernière intervention26 novembre 20134 19 juin 2010 à 12:08
Bonjour.
Beaucoup de bases de données ne donnent pas la possibilité de connaitre la prochaine valeur d'un champ AutoInc. Je n'ai jamais travaillé avec MySQL, mais il est probable que la valeur ne soit définie qu'après le Post, ce qui expliquerait l'erreur que tu rencontres.
Une suggestion : pourquoi ne pas incrémenter toi-même le numéro de l'employé ? Beaucoup de logiciels utilisent pour ce faire une table contenant les paramètres, dont un champ servant à stocker le dernier numéro ajouté. Il suffit alors de lire la valeur, de l'incrémenter, de "poster" la table Employés, puis de faire un Edit...Post de la table paramètres.