|
| Inicio → WINDEV 2025 → base de données hfsql avec synchro et accès direct : le PB des ID automatiques |
| base de données hfsql avec synchro et accès direct : le PB des ID automatiques |
| Iniciado por JPB, 10,abr. 2019 12:04 - 1 respuesta |
| |
| | | |
|
| |
Miembro registrado 118 mensajes |
|
| Publicado el 10,abril 2019 - 12:04 |
Bonjour à tous, j'ai crée une application qui fonctionne sur la base d'une bdd centrale (hfsql) et des fichiers fic locaux avec synchronisation des données via un serveur de réplication. Tout fonctionne. On m'a demandé de faire une version "sans synchro" de cette appli (qui accèdera donc directement à la bdd. Mais pb: lorsqu'on fait un hajoute, l'ID auto de chaque table va toujours se caler sur l'IDmax+1 Or cet IDmax correspond à une plage d'ID déjà attribué à l'un ou l'autre des utilisateurs. Comment faire ? j'ai bien pensé à créer un enregistrement dans chaque table avec un ID très élevé et qui soit en dehors des plage d'ID attribuées mais comment être certains que cet ID sera toujours le plus élevé ? y'a ptet d'autres solutions mais pour l'instant je ne vois pas... D'avance merci de votre aide !Mensaje modificado, 10,abril 2019 - 12:04 |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 118 mensajes |
|
| Publicado el 16,abril 2019 - 11:05 |
j'ai trouvé: il suffit de créer une nouvelle synchro (qui va prendre une plage d'ID pour chaque table). Ensuite, on va rechercher l'IDautoMin et Max qui ont été attribué sur les fichiers en local. on crée une table qui référence ces ID avec un champ pour noter le nombre de création et on les utilise avec un hajoute et l'option IDforceAuto. Enfin, on n'utilise jamais la synchro créé précédemment ainsi, la plage d'ID réservé ne sera jamais utilisée par aucune synchro et les ajouts direct sur la base se feront sur des ID libre. |
| |
| |
| | | |
|
| | | | |
| | |
|