cs_kurt
Messages postés21Date d'inscriptiondimanche 22 décembre 2002StatutMembreDernière intervention16 février 2003
-
27 janv. 2003 à 00:42
cs_kurt
Messages postés21Date d'inscriptiondimanche 22 décembre 2002StatutMembreDernière intervention16 février 2003
-
28 janv. 2003 à 08:21
Voilà, en fait j'aimerais que à chaque contact de ma base [IB], soit attribué un numéro, mais je ne sais pas comment faire? j'ai un numéro d'autoincrémentation, mais il est nul, car il ne se remet pas à jour quand on supprime un contact...
cs_Amadeus
Messages postés123Date d'inscriptionmercredi 2 janvier 2002StatutMembreDernière intervention15 mars 20042 27 janv. 2003 à 11:46
Il suffit de créer une fonction qui te renvoie le premier numéro libre. Achaque fois que tu fais un append tu récupére le numéro qu renvoie la fonction dans l'index et hop !)
cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 201332 27 janv. 2003 à 22:21
Il me semble avoir déjà répondu à cette question !
Pour ton information personnelle, saches que les champs autoincrémentés des bases de données ne reprennent JAMAIS de numéro antérieurement utilisés et effacés, ceci pour deux raisons :
1/- Un enrenregistrement marqué comme effacé n'est pas un enregistrement détruit. Il est juste marqué comme effacé.
Ainsi, il est possible de récupérer une suppression faite par erreur.
Même le compactage d'une table ne procède pas à une renumérotation des champs autoincrémentés.
2/- La deuxième raison est évidente : si tu as des tables en relation, il faut procéder à une renumérotation des champs des tables dépendantes ayant des clés étrangères égales aux clés primaires des enregistrements effacés. Et quand on utilise un champ auto-incrémenté, c'est parce qu'on n'a pas pu trouver de champ qui puisse constituer une clé unique.
Si tu veux mettre un joli bordel dans tes bases de données, continues...
Pour éviter ce genre de co....ie, optes pour l'intégrité référentielle stricte.
Le conseil de Kurt peut s'appliquer à une gestion par fichiers, pas par base de données.
Ai-je été clair ?
May Delphi be with you
cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 201332 27 janv. 2003 à 23:30
Il est hors de question de réutiliser les numéros des enregistrements supprimés, sous peine de gros problèmes d'intégrité référentielle dans ta base de données.
May Delphi be with you