Hello all,

I have a sql stored procedure with an output parameter. I'm just trying to read the output parameter in my code and I just cannot get it to work. The error I get is:
"Procedure or function 'GetFolderData' expects parameter '@RootName', which was not supplied."

It looks like I am supplying this but it's not working. Can someone tell me what I may be doing wrong?

Here is my stored procedure:
Code:
ALTER PROCEDURE [dbo].[GetFolderData]
	(
	 @RootID int,
	 @RootName varchar(30) OUTPUT,
	 @Username varchar(30)
	 
	)
	
AS

--Get folder root
SELECT @RootName = FR.RootName 
FROM Site.FolderRoots FR
WHERE FR.RootID = @RootID

--Get folders
SELECT DISTINCT F.FolderID, F.FolderName, F.CreationDate
FROM         Site.Folders AS F INNER JOIN
                      Site.FolderRights AS FR ON F.FolderID = FR.FolderID INNER JOIN
                      dbo.aspnet_Roles ON FR.RoleName = dbo.aspnet_Roles.RoleName INNER JOIN
                      dbo.aspnet_UsersInRoles ON dbo.aspnet_Roles.RoleId = dbo.aspnet_UsersInRoles.RoleId AND 
                      dbo.aspnet_Roles.RoleId = dbo.aspnet_UsersInRoles.RoleId INNER JOIN
                      dbo.aspnet_Users ON dbo.aspnet_UsersInRoles.UserId = dbo.aspnet_Users.UserId AND dbo.aspnet_UsersInRoles.UserId = dbo.aspnet_Users.UserId
WHERE     (F.RootID = @RootID) AND (dbo.aspnet_Users.UserName = @UserName)
ORDER BY F.CreationDate
Here is my code:
Code:
Public Sub New(ByVal RootID As Integer, ByVal UserName As String)

        Dim cn As SqlConnection = New SqlConnection(ConnectionInfo.cs)
        Dim cmd As SqlCommand = New SqlCommand("GetFolderData", cn)
        cmd.CommandType = CommandType.StoredProcedure

        cmd.Parameters.AddWithValue("@RootID", RootID)

        Dim param As SqlParameter = New SqlParameter("@RootName", SqlDbType.VarChar, 30, ParameterDirection.Output)
        cmd.Parameters.Add(param)

        cmd.Parameters.AddWithValue("@UserName", UserName)

        _dtFolders = New DataTable
        Dim da As SqlDataAdapter = New SqlDataAdapter(cmd)

        da.Fill(_dtFolders)
        _RootName = param.Value
        _RootID = RootID
        _UserName = UserName

    End Sub
Thanks,

Strick