HDSoftware Skrevet 9. juli 2008 Skrevet 9. juli 2008 Heisan folkens. Jeg trenger å lage en stored procedure som returnerer en verdi i stedet for et datasett. Denne skal brukes i et LINQ prosjekt. FIlen er en UserTable med dertil egnede felter som UserID og AccessLevel. Vill sende inn UserID og få igjen AccessLevel Jeg vet at dette enkelt kan gjøres med C# kode og bare scanne igjennom datasett som kommer tilbake, men siden LINQ på en så enkel måte kan bruke Stored Procedures og Stored Functions så tenkte jeg at dette var mye kulere. Problemet mitt er at jeg ikke helt ser for meg hvordan den STORED PROCEDURE skal se ut. Har begynnt noe slik: CREATE FUNCTION dbo.GetAccessLevel ( @UserID int ) RETURNS int AS BEGIN SELECT AccessLevel from dbo.Users where UserID = @UserID RETURN AccessLevel END Men dette vil ikke kompilere. Noen som vet noe om dette?
HDSoftware Skrevet 9. juli 2008 Forfatter Skrevet 9. juli 2008 Det er alltid morsomt å svare noen, selv om det er ens egne meldinger ;-) Vel, fant det ut og i tilfelle noen andre lurer på det samme så legger ejg ut løsningen her: create procedure dbo.GetUserAccessLevel ( @UserName nvarchar(50), @Password nvarchar(50), @AccessLevel int ) as Set @AccessLevel = (Select AccessLevel from dbo.Users where UserName = @UserName and Password = @Password) return @AccessLevel
kaffenils Skrevet 9. juli 2008 Skrevet 9. juli 2008 Du må deklarere en variabel som du skal returnere: CREATE FUNCTION dbo.GetAccessLevel ( @UserID int ) RETURNS int AS BEGIN declare @AccLvl int SELECT @AccLvl=AccessLevel from dbo.Users where UserID = @UserID RETURN @AccLvl END
HDSoftware Skrevet 9. juli 2008 Forfatter Skrevet 9. juli 2008 Du må deklarere en variabel som du skal returnere: CREATE FUNCTION dbo.GetAccessLevel ( @UserID int ) RETURNS int AS BEGIN declare @AccLvl int SELECT @AccLvl=AccessLevel from dbo.Users where UserID = @UserID RETURN @AccLvl END Ja, det var på denne måtenjeg endte opp. Eksemplet over der jeg brukte PROCEDURE skrev jeg inn før jeg endret til FUNCTION. Men takk alikevel.
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å