[ vinkof @ 24.07.2010. 12:42 ] @
i = cmdRValue.Parameters("@RETURN_VALUE").Value

Nakon ove linije koda javlja mi "An SqlParameter with ParameterName @RETURN_VALUE is not contained by this SqlParameterCollection"


Možda netko ima kod kako dograbiti RETURN vrijednost iz uskladištene procedure:

Code:
ALTER PROCEDURE vinko321.iznajmljivaci_provjeraKIiLozinke
    (
@sKorisnickoIme Varchar(50),
@sLozinka Varchar(20)
)
As
/*
Provjera korisničkog imena i lozinke
*/
If Exists
(
SELECT        KorisnickoIme
FROM            Iznajmljivaci
WHERE        (KorisnickoIme = @sKorisnickoIme) AND (Lozinka = @sLozinka)
)
Return 0

/*
Provjera valjanosti korisničkog imena
*/
If Exists
(
Select KorisnickoIme From Iznajmljivaci
Where KorisnickoIme = @sKorisnickoIme
)
Return 1

/*
Korisničko ime ne postoji
*/
Return 2


U pitanju je vb asp.net

Hvala
[ mahatma @ 27.07.2010. 00:40 ] @
Samo treba dobro citati :)

Napisao ti je
parametar sa imenom @RETURN_VALUE se ne nalazi u kolekciji parametara ove procedure. I zaista se ne nalazi.
Tvoji parametri su
@sKorisnickoIme Varchar(50),
@sLozinka Varchar(20)

dodaj josh jedan parametar
@RETURN_VALUE int output

i umesto da pishesh return 1 pishi @RETURN_VALUE =1 itd...
bitna stvar je da kada definishesh parametar komande u VB kodu, tj dodajesh ga komandi, kazesh parametar.direction = parametardirection.output
Nisam siguran da je sintaksa bash takva ali snaci cesh se.


Meni ovako na prvi pogled deluje da bi to trebalo da je to.

Uzdravlje!
[ vinkof @ 27.07.2010. 09:45 ] @
Hvala, riješio sam to ovako:
Code:
cmdRValue.CommandText = commandtext     ' uskladištena procedura "iznajmljivaci_provjeraKIiLozinke"
Dim RParam As SqlParameter = New SqlParameter("@RETURN_VALUE", SqlDbType.Int)
  cmdRValue.Parameters.Add(RParam).Direction = ParameterDirection.ReturnValue
  cmdRValue.ExecuteNonQuery()
  i = cmdRValue.Parameters("@RETURN_VALUE").Value

Ne znam koja je razlika između ReturnValue i output, ali ovo radi.