BpB Skrevet 27. april 2006 Del Skrevet 27. april 2006 Jeg skal lage et enkelt bilregister i SQL. I et skjema kan man legge inn nye biler. Jeg har satt en constraint på skiltnummer i databasen slik at det må være unikt. Nå lurer jeg på hvordan jeg sjekker om det finnes allerede? Jeg får en exception når den oppdateres, som kanskje kan behandles, men jeg føler at det å bruke exceptions er en ganske stygg måte å progge på. Det går vel an å sjekke dette på en annen måte? Lenke til kommentar
Yakamoto Skrevet 27. april 2006 Del Skrevet 27. april 2006 Jeg skal lage et enkelt bilregister i SQL. I et skjema kan man legge inn nye biler. Jeg har satt en constraint på skiltnummer i databasen slik at det må være unikt. Nå lurer jeg på hvordan jeg sjekker om det finnes allerede? Jeg får en exception når den oppdateres, som kanskje kan behandles, men jeg føler at det å bruke exceptions er en ganske stygg måte å progge på. Det går vel an å sjekke dette på en annen måte? 6001165[/snapback] Hva med å bruke en sql-spørring for å finne ut om den er der? Lenke til kommentar
Manfred Skrevet 28. april 2006 Del Skrevet 28. april 2006 Jeg vil så absolutt anbefale at du lager en stored procedure. du kjører da "EXEC my_procedure data1, data2, data3" (med alle dine input-data), så legger du en sjekk i prosedyren hvor du kjører spørringen "SELECT COUNT(*) FROM bilregister WHERE regnr = '@regnr' og lagrer dette i en @numreg. så tar du da If @numreg <> 0 Begin return 0 End Else Begin INSERT INTO bilregister VALUES(@regnr, @data2, @data3....) SELECT @@IDENTITY End ... noe slikt... slik at du får 0 hvis det ikke gikk, og primary key'en til posten dersom det gikk... u c? Lenke til kommentar
BpB Skrevet 29. april 2006 Forfatter Del Skrevet 29. april 2006 Yes. Skal lære meg litt mer om disse to metodene. Takk for svar. Lenke til kommentar
woid Skrevet 26. juni 2006 Del Skrevet 26. juni 2006 eller slik: IF (EXISTST(SELECT * FROM bilregister WHERE regnr = @regnr)) BEGIN RETURN 0 END ELSE BEGIN INSERT INTO bilregister VALUES(@regnr, @data2, @data3....) SELECT @@SCOPE_IDENTITY END 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å