Je dois créer des ID d'enregistrement uniques dans VFP en fonction des informations d'envoi: zip5, adresse, nom de famille, prénom. Une fois créées, les tables relationnelles seront chargées dans le serveur SQL 7 avec les identifiants uniques. Des suggestions?Créer des identifiants uniques dans VFP
Répondre
Vous pouvez utiliser un GUID: GUID entry at FoxPro Wiki.
Et voici quelques examples.
utilisant un WSH Easiest ...
* VFP 7+
oGUID = CreateObject("scriptlet.typelib")
cGUID = Strextract(oGUID.GUID, "{", "}")
* Other VFP
oGUID = CreateObject("scriptlet.typelib")
cGUID = substr(oGUID.GUID, 2, 36)
VFP n'a pas le support pour les ID uniques - en ce qu'elle a Primary Indexes (qui peut reposer sur plusieurs champs - mais assurez-vous que la longueur de clé est fixée, de manière si votre table VFP utilise des varchars, vous devrez remplir les champs) et une table peut également avoir Candidate Indexes (où les champs indexés doivent être uniques, comme une clé primaire, mais vous pouvez avoir plusieurs index candidats par table). L'une ou l'autre de ces options imposera l'unicité dans vos champs, mais générer une clé primaire basée sur zip5, adresse, nom et prénom sera inefficace. La suggestion de GUID fonctionnera bien, ou si vous avez VFP8 ou plus tard, vous pouvez utiliser un Autoinc column, qui est analogue à une colonne Identité dans SQL Server.
Soit dit en passant, les index uniques sont only used for backward compatibility ..
J'ai créé ma propre fonction à cet effet pour renvoyer un identifiant unique. Quand j'ai un nouvel enregistrement, je scanne simplement la base de données et la fonction remplace le champ identifiant unique (j'appelle le mien UID) dans la base de données avec un nouvel uid si l'enregistrement n'en a pas.
FUNCTION UIDgenerator()
LOCAL c_UID
LOCAL c_dump
c_UID = STRTRAN(SYS(2015),"_","") + [-]
c_dump = STRTRAN(SYS(2015),"_","")
c_dump = STRTRAN(SYS(2015),"_","")
c_dump = STRTRAN(SYS(2015),"_","")
c_UID = c_UID + STRTRAN(SYS(2015),"_","")
RETURN c_UID
endfunction() &&UIDGenerator
Vous ne devez pas faire c_dump 3 fois, mais je voulais les identifiants être un peu plus loin à part.
- 1. Comment créer des identifiants uniques en Perl?
- 2. Affectation des identifiants numériques uniques aux instances d'une classe Templated
- 3. Meilleure façon de générer des identifiants uniques côté client (avec Javascript)
- 4. Est-ce qu'un identificateur VFP unique est identique à un Guid?
- 5. iPhone - Comment créer une liste d'éléments uniques
- 6. Impact des identifiants de compte AWS
- 7. Générer des couleurs uniques
- 8. Validation internationale des identifiants de ressources
- 9. asp.net identifiants de compte par défaut
- 10. comment obtenir des éléments uniques?
- 11. Comment sélectionner des nœuds uniques
- 12. Impossible d'obtenir des valeurs uniques
- 13. Insertion VFP, mise à jour de l'index
- 14. renvoyer des lignes partiellement distinctes/uniques
- 15. Flotter automatiquement tous les champs dans un rapport VFP?
- 16. Flex CategoryAxis avec des valeurs non uniques
- 17. Calcul des offres uniques sur un produit
- 18. XSLT: extraire des valeurs d'attribut uniques
- 19. entrées uniques dans un tableau
- 20. Comment générer des noms d'utilisateur anonymes uniques dans RoR?
- 21. Suppression des lignes d'ID non uniques
- 22. Ruby on rails: URL des identifiants aux noms/titres etc
- 23. Synchronisation entre les tables SQL Server 2008 Express et VFP
- 24. Création de noms d'utilisateur uniques
- 25. Héritage de table: application de contraintes uniques sur des partitions?
- 26. MySQL: Récupérer des valeurs et des comptes uniques pour chaque
- 27. XML et multiples, DIVs non uniques
- 28. Informations DVD uniques?
- 29. Comment compter des enregistrements uniques et obtenir le nombre de ces uniques dans une table en utilisant SQL?
- 30. REST - Prise en charge de plusieurs identifiants possibles