如何通过作为表列c#的参数设置顺序

时间:2014-04-03 18:24:30

标签: c# asp.net sql

我试图在我的asp站点的后台代码中为存储过程传递Order By子句的值。我每次尝试传递它在db中的值时我得到以下错误:在Product附近的正确语法。 Product是我想要订购的db中的值。如何将此值或任何其他db值传递给我的存储过程?

return App_Code.DBHelper.executeDataSetSP(App_Code.DBHelper.getConnection(), "GetOrderDataByDate", 
                                             new SqlParameter[] { new SqlParameter("@start", StartDate),
                                                                  new SqlParameter("@end", EndDate),
                                                                  new SqlParameter("@OrderBy", "Product") }).Tables[0];

1 个答案:

答案 0 :(得分:0)

我认为dave在Dynamic Sorting within SQL Stored Procedures的答案可以回答你的问题。

    SELECT
       name_last,
       name_first,
       CASE @sortCol WHEN 'name_last' THEN [name_last] ELSE 0 END as mySort
    FROM
       table
    ORDER BY 
        mySort