过程或函数 'SortDB' 需要参数 '@ SortId'但未提供该参数。该怎么处理

过程或函数 'SortDB' 需要参数 '@ SortId',但未提供该参数。
Imports System.Data.SqlClient

Public Class SqlDB

    Private db As String = ConfigurationManager.ConnectionStrings("DBConnection").ConnectionString
    Private connection As SqlConnection = New SqlConnection(db)
    Private command As SqlCommand
    Private reader As SqlDataReader

    Function Get_Sort(ByVal SortId As String, ByVal PageIndex As String)

        Dim PageSize As String = 10
        Dim sql_select As String = "SortDB"
        command = New SqlCommand(sql_select, connection)
        command.Parameters.Add(New SqlParameter("@SortId", SortId))
        command.Parameters.Add(New SqlParameter("@PageIndex", PageIndex))
        command.Parameters.Add(New SqlParameter("@PageSize", PageSize))
        connection.Open()
        reader = command.ExecuteReader(CommandBehavior.CloseConnection)
        Dim DataList As New List(Of SortModels)()
        While reader.Read()
            DataList.Add(New SortModels With {.SortName = reader("SortName").ToString(), .Id = reader("Id").ToString()})
        End While
        Return DataList

    End Function

End Class


存储过程:

CREATE PROCEDURE [dbo].[SortDB]
@SortId int,
@PageSize int,
@PageIndex int
AS
BEGIN

select * from (select ROW_NUMBER() over(order by id Desc) as rowNumber, * from Ameav_Vote where SortId=@SortId) as temp where rowNumber between (((@PageIndex-1)*@PageSize)+1) and (@PageIndex*@PageSize)
END

提示过程或函数 'SortDB' 需要参数 '@ SortId',但未提供该参数。
请问高手们是怎么回事?如果不用存储过程,直接用SQL语句就没问题。
------解决方案--------------------
少了这个吧
command.CommandType = CommandType.StoredProcedure