排序order by后面以用 @ 吗,是不是必须要指定列名
string sql = "SELECT * FROM books Order By @order";
SqlDataReader dr = DBHelper.GetReader(sql, new SqlParameter("@order", order));
我这么写他就报错
由 ORDER BY 编号 1 标识的 SELECT 项包含一个变量,作为标识列位置的表达式的一部分。按照引用列名的表达式排序时,只允许使用变量。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.Data.SqlClient.SqlException: 由 ORDER BY 编号 1 标识的 SELECT 项包含一个变量,作为标识列位置的表达式的一部分。按照引用列名的表达式排序时,只允许使用变量。
----------------------------------------------------------------------------------------------------
我要是这么写他就可以运行
string sql = "SELECT * FROM books Order By " + order;
SqlDataReader dr = DBHelper.GetReader(sql);
SqlDataReader dr = DBHelper.GetReader(sql, new SqlParameter("@order", order));
我这么写他就报错
由 ORDER BY 编号 1 标识的 SELECT 项包含一个变量,作为标识列位置的表达式的一部分。按照引用列名的表达式排序时,只允许使用变量。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.Data.SqlClient.SqlException: 由 ORDER BY 编号 1 标识的 SELECT 项包含一个变量,作为标识列位置的表达式的一部分。按照引用列名的表达式排序时,只允许使用变量。
----------------------------------------------------------------------------------------------------
我要是这么写他就可以运行
string sql = "SELECT * FROM books Order By " + order;
SqlDataReader dr = DBHelper.GetReader(sql);
...全文
相关推荐
SQL-ORDER BY 多字段排序(升序、降序)
本节主要介绍了SQL-ORDER BY 多字段排序包括升序、降序,下面有个示例,大家可以参考下
MySQL中Order By多字段排序规则代码示例
主要介绍了MySQL中Order By多字段排序规则代码示例,小编觉得挺不错的,这里给大家分享下,需要的朋友可以参考。
union all与order by用法
union all与order by用法,并详细举例,oracle pl/sql
order by 、group by 、having的用法
order by 、group by 、having的用法区别 order by 从英文里理解就是行的排序方式,默认的为升序。 order by 后面必须列出排序的字段名,可以是多个字段名。 group by 从英文里理解就是分组。必须有“聚合函数”来配合才能使用,使用时至少需要一个分组标志字段。 什么是“聚合函数”? 像sum()、count()、avg()等都是“聚合函数” 使用group by 的目的就是要将数据分类汇总。
order by排序的用法
一、order by 1 其实1表示第一个栏位,2表示第二栏位; 依此类推,当表中只有2个栏位时,oder by 3就会出错,这个跟order by 列名没有什么区别,不过在特殊情况下还是很有用的. select owner,table_name,tablespace_name,blocks,last_analyzed from all_tables order by ...


