Du kan bruge ExecuteScalar. Grunden til at du oplever den fejler, er højest sandsynligt fordi "select SCOPE_IDENTITY()" returnerer en decimal (og du prøver sikkert at caste til en int).
Prøv:
int theNewId = Convert.ToInt32(theCommand.ExecuteScalar());
Godt du fandt ud af det. Som jeg ser det, er der ikke en af løsningerne som er bedre end den anden, så der er ingen grund til at skifte til min løsning, hvis du har fået det andet til at virke :-).
Næh det vigtigste i løsningen er vel netop at bruge SCOPE identity i stedet for @@IDENTITY som kører globalt scope.
Min løsning før var tåbelig og jeg havde derfor besluttet mig at få det løst så jeg ikke løber ind i concurrency problemer senere hen :)
God programmeringslyst til dig også
Synes godt om
Ny brugerNybegynder
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.