Thomas K skrev:
> Jeg har en database med brugere som skal logge ind på
> hjemmesiden. Når de fx har tilmeldt sig med brugernavnet Mig er
> det stadig muligt at lave en bruger som hedder mig. Hvordan kan
> jeg undgå dette, og sørge for at brugernavnet allerede er optaget
> uanset om det staves med store/små bogstaver?
Lad brugernavnet være indekseret som et unikt felt. Access skelner
som standard ikke mellem store og små bogstaver, så du vil få en
fejl hvis du forsøger at indsætte "Mig" hvis "mig" findes i
forvejen.
> strSQL = "Select * From bruger"
> Set rs = Conn.Execute(strSQL)
> strLogin = Request.Form("Login")
> Do
> if strLogin = rs("Login") THEN
> Response.Redirect "findes.asp"
> end if
> rs.MoveNext
Ovenstående er meget ineffektiv kode. Brug *altid* databasens
søgefunktion i stedet for bare at bladre posterne igennem til du
finder det du leder efter - det er *mange* gange hurtigere på den
måde.
Du skal have fat i WHERE-delen af sql:
sql = "SELECT login FROM bruger WHERE login = '" & strLogin & "'"
Set rs = Conn.Execute (sql)
IF NOT rs.EOF Then
' Brugeren findes i forvejen
fejl = True
End If
' Husk også at lukke og slukke før du viderestiller til en ny side
rs.close
set rs = Nothing
If fejl Then
response.redirect "findes.asp"
End If
Eftersom Access som nævnt ikke skelner mellem store og små
bogstaver, er dit problem med forskellig versalitet også løst med
denne kode.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på
http://usenet.dk/netikette/citatteknik.html