【问题标题】:How to set order by parameter that is a table column c#如何通过参数设置顺序,即表列c#
【发布时间】:2014-04-03 18:24:30
【问题描述】:

我试图在我的 asp 站点的后面代码中向存储过程传递 Order By 子句的值。我每次尝试将数据库中的值传递给它时都会收到以下错误:在 Product 附近的语法正确。产品是我要订购的数据库中的一个值。如何将此或任何其他要排序的 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];

【问题讨论】:

  • @hatchet 我需要 c# 方面而不是 SQL。
  • @GrantWinney 不,这是一个存储过程,我必须检查是否可以。
  • @Kpt.Khaos - 我认为您的问题可能出在存储过程中,而不是您如何调用它。您能否至少向我们展示一下您的存储过程的ORDER BY 部分?
  • @hatchet 啊,我没有让他看着他。

标签: c# asp.net sql


【解决方案1】:

我认为这里 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

【讨论】:

    猜你喜欢
    • 2017-12-26
    • 1970-01-01
    • 1970-01-01
    • 2020-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-07
    • 1970-01-01
    相关资源
    最近更新 更多