PDA

View Full Version : بازیابی فیلد خروجی stroreprocedure در vb.net



maryam_jamshid
چهارشنبه 27 شهریور 1387, 10:21 صبح
من یه stroreprocedure تعریف کردم به صورت زیر:
CREATE PROCEDURE login_check
@username nvarchar(20),
@password nvarchar(20)
AS
DECLARE @result bigint
set @result=2
IF EXISTS(SELECT * FROM login WHERE username=@username AND password=@password)
begin
set @result=1
end
return @result
GO
***
و با کد زیر توی vb.net مقدارپارامتر result رو فراخوانی کردم ولی error میده:
temp1 = username.Text
temp2 = password.Text
SelectCommand = New SqlCommand
objCn = New SqlConnection("workstation id=LUS62;packet size=4096;user id=khabar;data source=LUS62;persist security info=True;initial catalog=basejeasated;password=973")
objCn.Open()
SelectCommand = New SqlCommand
SelectCommand.Connection = objCn
SelectCommand.CommandText = "login_check"
SelectCommand.CommandType = CommandType.StoredProcedure
SelectCommand.Parameters.Add("@username", temp1)
SelectCommand.Parameters.Add("@password", temp2)
'SelectCommand.Parameters.Add("@result", 2)
dr = SelectCommand.ExecuteReader
dr.Read()
payam.Text = dr("@result")
dr.Close()
objCn = Nothing
چطوری باید این کار رو انجام داد؟؟؟

کم حوصله
چهارشنبه 27 شهریور 1387, 15:58 عصر
با سلام
در پروسیجر برگردان خروجی فقط با دستور Select است و Return برای برگردان در فانکشن ها است

پروسیجرت را با این اصلاح کن


CREATE PROCEDURE login_check
@username nvarchar(20),
@password nvarchar(20)
AS
SET NOCOUNT ON
DECLARE @result bigint
set @result=2
IF EXISTS(SELECT * FROM login WHERE username=@username AND password=@password)
begin
set @result=1
end
Select @result
GO