Avatar billede nima Nybegynder
22. marts 2006 - 15:13 Der er 5 kommentarer og
2 løsninger

MS SQL 2005 - Hente autogeneret primary key (Identity)

Hej.

Når der oprettes en ny entry i databasen vil jeg gerne returnere den nye auto-genereret primary key.. Hvordan gøres dette i en C# app?
Avatar billede a1a1 Novice
22. marts 2006 - 15:19 #1
select @@identity
lige efter insert

;o)
Avatar billede nima Nybegynder
23. marts 2006 - 14:25 #2
til a1 -> Jeg har følgende metode som eksempel tilføjer data til tabellen. Som koden nedenunder også viser, så returneres der jo som standard "affectedrows", men jeg vil gerne have den autoincremented værdi istedet..
------------------------------------------------------------------------

public int ExecuteUpdateAndReturnKey(string sqlString)
        {
            int affectedRows;
            SqlCommand myCommand = new SqlCommand(sqlString, myConnection);
            affectedRows = myCommand.ExecuteNonQuery();
            //hva skal der gøres for at få den generede identity???
            return affectedRows;
        }

------------------------------------------

På forhånd tak - Nima
Avatar billede fufan Nybegynder
24. marts 2006 - 10:53 #3
string sql =    "INSERT INTO kunde " +
                "(navn, telefon) " +
                "VALUES ('" + navn + "'," + telefon + ")" +
                "SELECT @@identity";
SqlCommand cmd = new SqlCommand(sql, conn);
rdr = cmd.ExecuteReader();
rdr.Read();
return (int) rdr[0];

Nu må du så lige selv passe dette ind i dit program. Jeg kan jo se din sqlString ligger et andet sted i programmet!
Avatar billede nima Nybegynder
24. marts 2006 - 12:39 #4
Fufan -> Bortset fra at der mangler et semikolon før SELECT, så virker det perfekt.. Tusind tak for hjælpen, lette 200 point fortjent :P
Avatar billede nima Nybegynder
24. marts 2006 - 12:39 #5
I må nok hellere begge komme med et svar så i kan deles
Avatar billede fufan Nybegynder
24. marts 2006 - 16:53 #6
Nå ja sgu... Sorry, jeg testede ikke lige koden! :P
Avatar billede nima Nybegynder
26. marts 2006 - 22:15 #7
Tak for det drenge :)
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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