---
title: "Användare existerar"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/113580-användare-existerar"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "scoxi"
published: "2004-10-14T20:57:47.000Z"
updated: "2004-10-18T12:46:23.000Z"
replies: 15
views: 478
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/113580-användare-existerar"
---

# Användare existerar

## #1 — scoxi, 2004-10-14T20:57Z

Jag gör en registreringssida och jag undrar hur man ska skriva för att kolla om användaren redan finns i databasen. Alltså om den finns så går det inte om det går så ska den läggas till. Har fixxat allt annat så det läggs till men man kan ha multiple av t.ex. "scoxi"..
tack på förhand

Permalänk: https://www.webforum.nu/p/113580

## #2 — Jesper T, 2004-10-14T21:19Z

Du måste skapa en sql-sats för att först räkna förekomsten av användarnamnet innan du skickar in det i databasen.

```
sql = "select count(kolumnen_usernames) where kolumnen_usernames = '" & Request.form("användarnamn") & "'"
Set rs = conn.execute(sql)
if not cLng(rs(0)) = 0 then
'användarnamnet finns, skicka tebax
else
'användarnamnet finns inte
'lägg till mannen
end if
```

Permalänk: https://www.webforum.nu/p/1459696

## #3 — Nickemannen, 2004-10-15T05:27Z

Ersätt helst eventuella '-tecken också för säkerhets skull.

Permalänk: https://www.webforum.nu/p/1459762

## #4 — Erik Juhlin, 2004-10-15T06:14Z

Varför inte bara..?

```
sql = "select count(kolumnen_usernames) where kolumnen_usernames = '" & Request.form("användarnamn") & "'"
Set rs = conn.execute(sql)
if rs(0) then
'användarnamnet finns, skicka tebax
else
'användarnamnet finns inte
'lägg till mannen
end if
```

CLng är onödigt eftersom att du får ett tall tillbaka. Sen känns det lite onödigt att använda Not vid jämförning av tal och strängar.

Permalänk: https://www.webforum.nu/p/1459771

## #5 — @nders, 2004-10-15T06:18Z

Eller bara:

```
sql = "select 1 [b]from tabellen[/b] where kolumnen_usernames = '" & Request.form("användarnamn") & "'"
Set rs = conn.execute(sql)
if not rs.eof then
    'användarnamnet finns, skicka tebax
else
    'användarnamnet finns inte
    'lägg till mannen
end if
```

Varför använda count?

mvh

Permalänk: https://www.webforum.nu/p/1459773

## #6 — Erik Juhlin, 2004-10-15T06:57Z

Spelar väl ingen roll prestandamässigt i alla fall. I alla fall inte enligt mina tester. :)

Inte för att jag säger att mina ändringar gör någon skillnad så, men det här är mer whatever...
Men jag hade gjort som @nders skrev. :)

Permalänk: https://www.webforum.nu/p/1459787

## #7 — @nders, 2004-10-15T07:05Z

Nej, jag håller med, det är nog ingen större skillnad.

Det finns ju ett alternativ till:

\*) Se till att fältet inte får lagra dubletter
\*) Gör insert
\*) Fånga eventuellt fel

Mvh

Permalänk: https://www.webforum.nu/p/1459788

## #8 — Erik Juhlin, 2004-10-15T07:11Z

Blä, känns som en sak man använder när man gör en enkel lokal applikation eller liknande där saker inte behöver vara helt hundra.

För att sitta och tolka felkoder känns inte bra...

Men att ha en constraint på fältet som hindrar dubletter är vettigt!

Permalänk: https://www.webforum.nu/p/1459789

## #9 — scoxi, 2004-10-15T07:15Z

tack så mkt
vart kan jag läsa mer om sql kommandon som: eof, rs(?), clng o allt vad det är?

Permalänk: https://www.webforum.nu/p/1459791

## #10 — @nders, 2004-10-15T07:16Z

De är inga SQL-kommandon, men du kan läsa en massa fina grejer på <http://www.devguru.com/> .

mvh

Permalänk: https://www.webforum.nu/p/1459792

## #11 — @nders, 2004-10-15T07:17Z

> Blä, känns som en sak man använder när man gör en enkel lokal applikation eller liknande där saker inte behöver vara helt hundra.
> 
> För att sitta och tolka felkoder känns inte bra...

Helt riktigt. inte av den här anledningen i alla fall!

> Men att ha en constraint på fältet som hindrar dubletter är vettigt!

Jepp!

mvh

Permalänk: https://www.webforum.nu/p/1459793

## #12 — Erik Juhlin, 2004-10-15T07:21Z

Felkoder och liknande ska spottas in i loggar!
Bara i undantagsfall jag använder dem för någonting annat. :)

Permalänk: https://www.webforum.nu/p/1459795

## #13 — LarsG, 2004-10-15T08:10Z

```
För att sitta och tolka felkoder känns inte bra...
```

Det måste man göra i alla fall så.

Permalänk: https://www.webforum.nu/p/1459814

## #14 — Erik Juhlin, 2004-10-15T08:18Z

Umm hur menar du? Jag sitter ju själv och läser fel i loggar och så, men jag känner mig inte bekväm med att programmatiskt tolka felkoder/felbeskrivningar.
Jag gör det bara i undantagsfall.

Permalänk: https://www.webforum.nu/p/1459817

## #15 — scoxi, 2004-10-17T21:02Z

Alltså det blir knas när jag ska få in det i resten av koden..

```
<%

username = Request.Form("username")
password1 = Request.Form("password1")
password2 = Request.Form("password2")

If username = "" OR password1 = "" OR password2 = "" Then

%>
<font color="red" face="verdana" size="1"><b>Du måste fylla i alla fält</b></font>

<%
else

'Öppnar databasen
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=c:\inetpub\wwwroot\test\anvandare.mdb"

sql = "select count(username) where username = '" & username & "'"
Set rs = conn.execute(sql)
if rs(0) then response.write "upptaget"
'användarnamnet finns, skicka tebax
conn.close
else

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=c:\inetpub\wwwroot\test\anvandare.mdb"

Add = "INSERT INTO anvandare (username, password) VALUES ( '" & username & "', '" & password1 & "' )"

Conn.Execute(Add)

Conn.Close

Response.Redirect("login.asp")

%> 

<font color="green" face="verdana" size="1"><b>Du är nu medlem. Klicka <a href="login.asp">här</a> för att logga in</b></font>

<%

End if
end if

%>
```

Felmeddelande:

```
Feltyp:
Kompileringsfel i Microsoft VBScript (0x800A03F6)
'End' förväntas.
/test/regcheck.asp, line 38
else
```

Permalänk: https://www.webforum.nu/p/1461017

## #16 — J.N., 2004-10-18T12:46Z

HEJ!

Felet står i klartext, du har missat ett end if någonstans.

Gör din kod med klara indrag, så ser du väldigt enkelt var det är fel. Dessutom underlättar det för oss andra wF-ianer om du inte skulle lösa ett problem.

Permalänk: https://www.webforum.nu/p/1461274

---

Tråden på webben: https://www.webforum.nu/amne/asp/113580-användare-existerar
