Avatar billede naxosnaxos Nybegynder
24. januar 2005 - 21:29 Der er 3 kommentarer og
1 løsning

SELECT @@IDENTITY returner Decimal og ikke int

Hej

Jeg har en INSERT INTO..... SELECT @@IDENTITY som jeg bruger til at indsætte en record med og derefter modtage dens id som er auto inc.
ID fetet i MS sql er int og jeg udfører sql'en med ExecuteScalar.
Men det object som denne returner kan jeg ikke caste til en Int. jeg akn se ved debug at det er Decimal, men kan ikke forstå hvorfor det er det?? nogen der har en forklaring?
Avatar billede arne_v Ekspert
24. januar 2005 - 21:36 #1
Du kan lave identity kolonner af flere forskellige typer.

Alle disse typer kan gemmes i en decimal.

Ikke alle kan gemmes i en int/Int32.

Fornuftigt kompromis.

Men du er ikke den eneste som har undret sig. Se f.eks.:
  http://www.theserverside.net/discussions/thread.tss?thread_id=23522
Avatar billede naxosnaxos Nybegynder
24. januar 2005 - 21:50 #2
Hmmm Convert.ToInt32 kan lave det til en int, men den taer jo også 19 forskellige typer
Avatar billede arne_v Ekspert
24. januar 2005 - 21:54 #3
Convert.ToInt32 kan konvertere en decimal til en int hvis den decimal
er en valid int (og det er den jo i dit tilfælde)
Avatar billede arne_v Ekspert
25. februar 2005 - 22:00 #4
OK ?
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