ceci est ma troisième question ici, jusqu'à présent d'excellentes réponses ^^champ autoincrement « violation de clé » dans ClientDataSet [Delphi]
Je vais avoir aucun problème dans la navigation, la modification des données, mais insertions ...
Voici mon doute: dans un finance/logiciel stock j'ai un formulaire pour créer un nouvel ordre,
i naturellement besoin d'insérer une nouvelle ligne dans t_orders tableau
et insérer des éléments dans t_orderitems tableau avec orderId champ lié à une ligne dans t_orders
CREATE TABLE `t_orders` (
`orderId` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`clientId` INT(10) UNSIGNED NOT NULL,
...)
CREATE TABLE `t_orderitems` (
`orderitemId` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`orderId` INT(10) UNSIGNED NOT NULL,
...)
--> INDEXES AND FOREIGN KEYS OMITTED <--
Comment puis-je ajouter itemorders à une grille et enfin le bouton "FinalizeOrder" cliquez
- Créer un ordre t_orders
- Insérer des éléments dans t_orderitems associés à cet ordre
La connexion est établie à l'aide d'ADO.
Je ne sais pas si c'est possible de faire comme ça, dans ce cas, comment je devrais faire?
modifier: J'essayé d'utiliser ClientDataSets imbriqués et cela fonctionne dans certaines régions, mais je ne sais toujours pas comment obtenir l'ID de commande inséré
Edit2:
Maintenant, j'ai un autre problème, je peux N'ajoutez pas plus d'un élément dans ClientDataSet.
Étant donné que OrderItemId est vide pour tous les éléments (je ne peux obtenir ces valeurs lors de l'insertion de la base de données), lorsque j'essaie d'ajouter un deuxième élément, il me donne la clé Violation, des idées?
Si je mets UpdateMode à quelque chose de différent que upWhereKeyOnly et définissez pfInKey sur False cela fonctionne, mais je ne pense pas que ce soit une option
Toutes les idées?
Merci d'avance!
Arthur.
Quelle base de données utilisez-vous? MySQL? – RRUZ
Oui, mais je vais passer à PosgreSql sur la version finale – arthurprs
Vérifiez la fonction mysql LAST_INSERT_ID(), voir ce lien http://dev.mysql.com/doc/refman/5.0/en/getting-unique-id.html – RRUZ