Flemming Jensen mumbled :
> Jeg har en side hvor man kan oprette en bruger ved at udfylde en masse
> felter, hvor brugernavn selvfølgelig er en af dem. Jeg skal så have
> den til at tjekke i databasen om brugernavnet allerede eksisterer og
> hvis det gør, så skrive at brugernavnet er optaget, men jeg er ikke
> helt sikkert på hvordan.
>
> Jeg har tænkt lidt på at gøre brugernavn til primærnøglen(bruger
> Acess), og på den måde gør det umuligt at oprette to brugere med samme
> brugernavn, men så giver den vel bare en træls fejl, hvis brugernavnet
> allerede findes. Men der må være noget, hvor man kan fange fejlen og
> skrive den om til f.eks.
det er der da også. For det første, så er der et unikt fejlnummer
associeret til hver fejl du kan få i ASP. Derfor bør du finde ud af,
hvilket nummer, der hører til den fejl man får ved at indsætte en række,
hvor primærnøglekravet brydes.
Din kode bør være noget retning af
strSQL = "INSERT INTO Table1 ... brugernavn,password ..."
on error resume next
oCon.Execute(strSQL)
Response.Write Err.Number
Response.end
on error goto 0
Nu har du så fejlnummeret for primærnøgle-fejlen. Lad os sige, at denne
fejl er -213455321
Nu sletter du koden ovenfor og laver næsten det samme igen:
strSQL = "INSERT INTO Table1 ... brugernavn,password ..."
on error resume next
oCon.Execute(strSQL)
SELECT CASE Err.Number
CASE 0
' fejlnummer 0 er det samme som "ingen fejl"
Response.write "Dine data er nu indsat."
CASE -213455321
Response.Write "Brugernavnet er allerede taget."
CASE ELSE
Response.Write "Der skete en fejl"
END SELECT
on error goto 0
--
Jesper Stocholm
http://stocholm.dk
http://asp.stocholm.dk
Svar til gruppen og ikke til mig privat pr. email :|