2012-04-04 30 views
6

'da Çıkış Parametresiyle SQL Stored Prosedürünün Aranması Saklı yordamı çağırmak için bir VBScript işlevi yazdım. Geçmişte, giriş parametreleriyle saklı yordamları çağırırken bir dizi işlev yazdım, ancak bu durumda bir Çıkış parametresiyle çalışmam gerekiyor.VBScript

Başka bir uygulamada, Varlık Çerçevesini kullanarak aynı saklı yordamı çağırıyorum, bu nedenle saklı yordam doğrudur.

Function checkAccess(userid,link) 
    isAllowed = false 

    set cmd = Server.CreateObject("ADODB.Command") 
    cmd.CommandText = "Check_Permission" 
    cmd.ActiveConnection = Conn 
    cmd.NamedParameters = true 
    cmd.CommandType = adCmdStoredProc 
    cmd.Parameters.Append(cmd.CreateParameter("@Login", adVarChar, adParamInput, 50, userId)) 
    cmd.Parameters.Append(cmd.CreateParameter("@LinkId", adInteger, adParamInput, 50, link))  
    cmd.Parameters.Append(cmd.CreateParameter("@IsAllowed", adBoolean, adParamOutput, 10, isAllowed)) 

    checkAccess = isAllowed 
End Function 

Bu fonksiyon her zaman false döndürür:

İşte benim kod. Nasıl çalışırım?

+0

İmleç konumu nedir? –

cevap

14

Sen çıkış parametresinin değerini döndürmesi gerekir: Değiştirmek böylece,

Ayrıca
checkAccess = cmd.Parameters("@IsAllowed").Value 

, ADO çıktı parametreleri bir boyut gerektirmeyen bir başlangıç ​​değeri ve adBoolean parametreleri gerekmez senin artık gerekli olduğundan Ayrıca IsAllowed değişkenin kurtulmak olabilir

cmd.Parameters.Append(cmd.CreateParameter("@IsAllowed", adBoolean, adParamOutput)) 

: son menü noktası.