Avatar billede bongo20 Nybegynder
03. februar 2005 - 15:50 Der er 6 kommentarer og
1 løsning

Case sensitive

Jeg har en side hvor brugerne kan logge ind på siden.
Jeg tjekker i databasen om bruger navn og password stemmer overens, og det virker glimrende.

Mit problem er at jeg gerne vil have at den også tager dem med som passer uden case sensivity.

Altså er dit brugernavn niels skal det også virke med Niels.

Jeg bruger sqlServer 2000

Håber en har et forslag :o)
Avatar billede rasmusbg Nybegynder
03. februar 2005 - 15:54 #1
Inden du begynder at lege med databasen for at gemme eller sammenligne, konverterer du alle tegn i brugernavnet til lower case ;)
Avatar billede lorentsnv Nybegynder
03. februar 2005 - 15:56 #2
Du kan bruge UPPER ( character_expression ) til at konvertere til store bogstaver på begge sider når du sammenligner, så vil sammenligningen ikke være case sensitive.
Avatar billede bongo20 Nybegynder
03. februar 2005 - 16:01 #3
Det du skriver rasmus virker jo ikke så heldigt fordi jeg samtidig gerne vil kunne vise navnet på den måde brugerne oprindeligt indtastede det.

Det du skriver lorentsnv lyder godt, men har du en kodelinje, det der har jeg ikke prøvet før ?

:o)
Avatar billede lorentsnv Nybegynder
03. februar 2005 - 16:06 #4
Du kan lave en sammenligning som her, hvor jeg også har brugt RTRIM, for at sikkre at der ikke er nogle blanke tegn inden teksten:

WHERE UPPER(RTRIM(au_lname)) = "HANSEN"

Der findes også funktionen lower, der konverterer til små bogstaver:
WHERE LOWER(RTRIM(au_lname)) = "hansen"

I begge tilfælde får du hansen uanset hvordan det er skrevet:
Hansen
HANSEN
hansen
haNsen
Avatar billede pswin Nybegynder
03. februar 2005 - 17:31 #5
En anden meget simpel mulighed er at definere kolonnen i din database til at være case sensitive. Det gøres fx sådan her i det SQL script hvor du opretter din tabel.

[strUserPassword] [varchar] (50) COLLATE Danish_Norwegian_CS_AS NOT NULL

Eller du kan gøre det i enterprise manageren under design table / new table og så vælge collation på den kolonne der skal være case sensitive (trykke på knappen med de tre punktummer og så kan du sætte det)
Avatar billede bongo20 Nybegynder
04. februar 2005 - 04:36 #6
Tak for det lorentsnv,. det virker jo glimrende :o)
Avatar billede janus_007 Nybegynder
04. februar 2005 - 09:34 #7
Det rigtige og mest korrekte svar blev afvist... hmm ;O)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester