PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Identifiant automatique
Identifiant automatique
Débuté par christophe.muller, 29 oct. 2004 16:37 - 3 réponses
Posté le 29 octobre 2004 - 16:37
Bonjour à tous,

Est-il possible de spécifier par programmation l'identifiant minimal (début de la séquence) pour un fichier HyperFile ?

Merci d'avance.
Chris
Posté le 29 octobre 2004 - 20:32
"Michel HARROIS" <michel.harrois@harrois.com> écrivait
news:41826e3d$1@news.pcsoft.fr:


Salut,

Pas tout a fait d'accord avec Michel.

Non, car c'est le moteur HF qui gŠre le compteur.
J'ai rencontr‚ le mˆme problŠme, et je gŠre moi mˆme les identifiants



Il est possible de forcer une valeur d'identifiant dans HAjoute/Hmodifie,
en ajoutant le flag hForceIdAuto ou hFixeIdAuto.
Dans ton cas pour que les prochain identifiant parte de celui que tu
ajute/modifie utilise hFixeIdAuto

Quand je cr‚e un nouvel enregistrement, le lit le dernier enreg. du
fichier sur cette cl‚, et je fait +1 sur la clef r‚cup‚r‚e.


Attention Michel, Danger si tu ne fait pas de blocage ! En cas de multi-
utilisateurs entre la lecture et l'ajout un autre poste peut lire et donc
avoir la même vale d'identifiant !!

J'‚vite d'utiliser les ID automatiques car ils ne sont pas toujours
compatibles avec les autres bases de donn‚es.


Je n'ai aps essaié avec tout mais pas de pb avec Oracle, SQL Server et My
SQL !


--
En esperant t'avoir aidé.
ted
Posté le 29 octobre 2004 - 20:59
Non, car c'est le moteur HF qui gère le compteur.
J'ai rencontré le même problème, et je gère moi même les identifiants .
Dans l'analyse, je transforme l'ID automatique par un simple entier long sur
4 octets.
Quand je crée un nouvel enregistrement, le lit le dernier enreg. du fichier
sur cette clé, et je fait +1 sur la clef récupérée.
J'évite d'utiliser les ID automatiques car ils ne sont pas toujours
compatibles avec les autres bases de données.
Michel Harrois


"Christophe Muller" <christophe.muller@ge-ariane.ch> a écrit dans le message
de news: 41822fff@news.pcsoft.fr...

Bonjour à tous,

Est-il possible de spécifier par programmation l'identifiant minimal
(début de la séquence) pour un fichier HyperFile ?

Merci d'avance.
Chris
Posté le 07 février 2006 - 12:21
Hello,

Je suis un peu en retard sur le message, mais je laisserais ce message pour avoir les autres.

Pour ma part, en ce qui concerne la création d'Id autoincrémenté sur des bases Oracle,
J'utilise un trigger (avant insertion) et une sequence.

A chaque ajout le trigger lit la séquence, l'incrémente de 1, puis l'insère et hop c tout.
L'avantage réside dans le fait que tout ce passe du coté Oracle donc allègement de code et tout ce qui en découle en terme de performance.
Je n'ai j'amais eu de soucis en ce qui concerne l'ajout d'enregistrement.

Bye