---
title: "Kolla att användarnamnet inte redan är registrerat"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/147181-kolla-att-användarnamnet-inte-redan-är-registrerat"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "Addeladde"
published: "2006-05-21T23:09:10.000Z"
updated: "2006-05-27T17:48:35.000Z"
replies: 13
views: 793
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/dotnet/147181-kolla-att-användarnamnet-inte-redan-är-registrerat"
---

# Kolla att användarnamnet inte redan är registrerat

## #1 — Addeladde, 2006-05-21T23:09Z

Hej 

Hur kollar jag att användarnamnet är unikt innan jag kör min insert?

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

## #2 — Nickemannen, 2006-05-21T23:27Z

Tja, du kan göra på två sätt, det ena är snyggare än det andra.

1\. Gör en Select fråga som kollar om det finns någon med det användarnamnet.
2\. Försök att registrera (sätt givetvis att det fältet som skall innehålla användarnamnet måste vara unikt) fånga felet.

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

## #3 — Addeladde, 2006-05-22T10:08Z

I asp skapade jag ett recodset av sql strängen och kollade om det var tomt.
If Rs.Eof Then
  'gör insert
Else
 'fel
End If

Men recodset finns ju inte i asp.net. Hur kan jag kolla det på liknande sätt?
Använder jag ett dataset?

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

## #4 — Nickemannen, 2006-05-22T10:24Z

```
// DatSet = Ds
Ds.Tables[0].Rows.Count
```

Har för mig det är så :)

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

## #5 — Addeladde, 2006-05-22T10:38Z

Behöver man stänga databaskopplingar och dataset som man skapar?
I kod exempel och liknande har jag sätt att de inte stänger.

Finns väl någon typ av garbage collector som kastar oanvända objekt. Ska man stänga ändå för snabbhet?

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

## #6 — Addeladde, 2006-05-22T10:51Z

Hur sätter jag i MS SQL 2005 att en rad ska vara unik? Det finns redan en räknare som identety är satt på.

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

## #7 — Gladh, 2006-05-22T11:29Z

> Finns väl någon typ av garbage collector som kastar oanvända objekt. Ska man stänga ändå för snabbhet?

Ja det finns en garbage collector som kastar objekt som du inte längre använder, men det vet du aldrig när det sker, det kan ta någon millisekund efter det att du inte använder objektet mer, tills en vecka efter det att du inte använder objektet mer.

Du skall alltid göra en Close() eller Dispose() på objekt som har dessa metoder på sig, generellt punkt slut. Och det har med hantering av resurs, och speciellt när det gäller databaser så stängs inte din koppling till databasen förren du gör close() på connection, och den vill du stänga så snabbt som möjligt...

> Hur sätter jag i MS SQL 2005 att en rad ska vara unik? Det finns redan en räknare som identety är satt på.

Du skall skapa ett 'Index' höger klicka på tabellen och välj 'all task'. Där kan du välja att skapa indexes och när du skapar ett nytt index så väljer du en kolumn och väljer om den skall vara unik.

\- M

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

## #8 — Addeladde, 2006-05-22T18:04Z

Tack funkar perfekt med fånga felmeddelandet.

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

## #9 — cok, 2006-05-22T19:37Z

Som gladh säger är det ett måste att köra close och dispose på kopplingen. Vi har stött på problem mot en kund där vi missade detta på ett par ställen då vi missade hanteringen när exception kastades. Ett sätt att göra det säkert är att deklarera kopplingen med using() { }. Då behöver man inte hålla koll på stägningarna.

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

## #10 — Addeladde, 2006-05-25T20:47Z

> **cok skrev:**
>
> Som gladh säger är det ett måste att köra close och dispose på kopplingen. Vi har stött på problem mot en kund där vi missade detta på ett par ställen då vi missade hanteringen när exception kastades. Ett sätt att göra det säkert är att deklarera kopplingen med using() { }. Då behöver man inte hålla koll på stägningarna.

Förklara gärna mer och dumpa lite kod

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

## #11 — sorting, 2006-05-25T23:44Z

Här har du ett exempel på hur du deklarerar objekt med "using {}".

```
    public static void AddAccount(string Parameter1, string parameter2.....)
    {
        using (SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["Members"].ConnectionString))
        {
            using (SqlCommand command = new SqlCommand("AddAccount", connection))
            {
                command.CommandType = CommandType.StoredProcedure;
                command.Parameters.Add(new SqlParameter("@Parameter1", Parameter1));
                command.Parameters.Add(new SqlParameter("@Parameter2", parameter2));
                // osv...

                connection.Open();

                command.ExecuteNonQuery();               
            }
        }
    }
```

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

## #12 — cok, 2006-05-27T16:26Z

Det du deklarerar med hjälp av using, disposas när koden har körts.

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

## #13 — mozilla, 2006-05-27T17:29Z

Kan man vara helt säker på det? :OO Att den stänger med en gång dvs.

Jag brukar av ren vana ändå stänga anslutningen när den är klar även om jag använder using. Men om man använder som i exemplet skall man aldrig behöva stänga anslutningen själv?

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

## #14 — emission, 2006-05-27T17:48Z

> **mozilla skrev:**
>
> Kan man vara helt säker på det? :OO Att den stänger med en gång dvs.
> 
> Jag brukar av ren vana ändå stänga anslutningen när den är klar även om jag använder using. Men om man använder som i exemplet skall man aldrig behöva stänga anslutningen själv?

Ja, den stänger på en gång. Avslutet på using gör att Dispose anropas. Dispose i sin tur anropar Close.

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

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/147181-kolla-att-användarnamnet-inte-redan-är-registrerat
