mar Skrevet 4. desember 2005 Del Skrevet 4. desember 2005 (endret) Sitter og lærer meg litt SQL håndtering i .Net (bruker C#). SQL serveren er MS SQL Server versjon 09.00.1399 Har følgende testmetode: public string enableSetID(string table) { string ret; try { myCon.Open(); SqlCommand enID = new SqlCommand("SET IDENTITY_INSERT "+table+" ON", myCon); ret = "error code: " + enID.ExecuteNonQuery(); myCon.Close(); } catch (Exception e) { ret = e.ToString(); } return ret; enID.ExecuteNonQuery() returnerer -1, som ikke er et veldig godt tegn, får også beskjed om at INDENTITY_INSERT er OFF dersom jeg prøver å sette key manuelt i den aktuelle tabellen. Er av og til greit å kunne sette unik ID selv, og da er vel det der måten å gjøre det på? Endret 4. desember 2005 av mar Lenke til kommentar
Manfred Skrevet 5. desember 2005 Del Skrevet 5. desember 2005 Burde ikke denne ligget under "databaser" og ikke her? Lenke til kommentar
mar Skrevet 5. desember 2005 Forfatter Del Skrevet 5. desember 2005 (endret) Egentlig ikke, dersom jeg logger inn og og kjører den samme kommandoen direkte så går det helt fint. Problemet er å bruke .Net sine rutiner for å gjøre dette. Endret 5. desember 2005 av mar Lenke til kommentar
OveM Skrevet 8. desember 2005 Del Skrevet 8. desember 2005 Se MSDN: I dette tilfelle skal vel metoden alltid returnere -1? For UPDATE, INSERT, and DELETE statements, the return value is the number of rows affected by the command. For all other types of statements, the return value is -1. If a rollback occurs, the return value is also -1. Lenke til kommentar
mar Skrevet 8. desember 2005 Forfatter Del Skrevet 8. desember 2005 Se MSDN: I dette tilfelle skal vel metoden alltid returnere -1? For UPDATE, INSERT, and DELETE statements, the return value is the number of rows affected by the command. For all other types of statements, the return value is -1. If a rollback occurs, the return value is also -1. 5268158[/snapback] Er litt usikker, den returnerer 0 når jeg kjører den direkte på SQL serveren. Mulig det er en fordel å legge alt av "functions", "querys" osv på serveren også bare kalle disse ved hjelp av .Net istedenfor å gjøre alt i .Net Lenke til kommentar
Manfred Skrevet 10. desember 2005 Del Skrevet 10. desember 2005 Jeg ville kanskje stolt på det MSDN sier om "ExecuteNonQuery"... Siden det er de som har laget rammeverket, liksom Lenke til kommentar
mar Skrevet 10. desember 2005 Forfatter Del Skrevet 10. desember 2005 Jeg ville kanskje stolt på det MSDN sier om "ExecuteNonQuery"... Siden det er de som har laget rammeverket, liksom 5275854[/snapback] Joda, men poenget er jo at kommandoen fremdeles ikke gjør det den skal, så noe er jo galt. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå