|
Unikátní identifikace |
|
|
|
Pokud zmodifikujeme pole v tabulce adresáře tak, že již nebude typu uniqueidentifier, nýbrž varchar, můžeme do něj ukládat podle libosti. Ve VB si pak vytvoříme recordset, který bude vracet unikátní číslo v textové podobě, vygenerované SQL Serverem. SQL zápis recordsetu vypadá následovně: SELECT CONVERT(varchar(255), NEWID()) AS MyID Čili, v
aplikaci si stačí pouze zjistit hodnotu MyID v tomto recordsetu. Zkuste si
to v návrháři dotazů v DataEnvironmentu, budete dostávat nějaké takovéto
hodnoty: Jenom na okraj, všimněte si, že znak na 13. místě (nepočítám pomlčky) je vždy číslo 4. Toto číslo určuje, že se jedná o GUID generovaný Microsoftem. Hodnotu MyID nyní stačí jenom ukládat do textového pole v tabulce adresáře a do hlaviček nabídek, místo ID záznamu z adresáře ukládat tento unikátní identifikátor. Možná pro Vás předchozí vysvětlování bylo příliš nesrozumitelné, zkusím to tedy teď pospat jednoduše a bez okras:
Nyní ještě jedna věc na konec. Nikdy nepoužívejte pole s unikátními identifikátory pro vytvoření primárního klíče v tabulce. Obrovsky byste tím snížili výkon aplikace, neboť ať již jako varchar anebo uniqueidentifier je indexování tohoto pole několikrát pomalejší, než indexování pole bigint. Proto vždy mějte primární klíč vytvářen pomocí polí bigint s IDENTITY (v úvodu článku jsem psal, že toto nebudeme zavrhovat když používáme GUID). No a nyní mi již jenom zbývá popřát hodně štěstí :) |
|
|
| Autor: The Bozena |