ORDER BY 编号 1 标识的 SELECT 项包含一个变量,作为标识列位置的表达式的一部分。按照引用列名的表达式排序时,只允许使用变量
public List GetSelectStoreAll(String type,String name1)
{
List list = new ArrayList();
Connection conn=null;
PreparedStatement ps=null;
ResultSet rs=null;
conn=GetConn();
String sql="select id as 'ID' , name as '名字',number as '数量',price as '价格',type as '类型' from storge where type=? order by ? desc";
try {
ps=conn.prepareStatement(sql);
ps.setString(1, type);
ps.setString(2,name1);
rs=ps.executeQuery();
while(rs.next())
{
store s=new store(rs.getInt(1),rs.getString(2),rs.getInt(3),rs.getDouble(4),rs.getString(5));
list.add(s);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return list;
}
运行后报由 ORDER BY 编号 1 标识的 SELECT 项包含一个变量,作为标识列位置的表达式的一部分。按照引用列名的表达式排序时,只允许使用变量。
请各位大虾帮忙解决一下