为了账号安全,请及时绑定邮箱和手机立即绑定

通过preparestatement的语句执行 order by 不排序

通过preparestatement的语句执行 order by 不排序

吃鸡游戏 2022-01-12 16:15:05
我尝试通过preparestatement查询带有order by statement的select sql,它执行了,但是在打印时,它没有排序。谁来帮帮我?Connection conn = ConnectionUtils.getConnect();        String sql = "SELECT  * FROM student ORDER BY ?";        List<Student> listStudent = new ArrayList<>();        try {            PreparedStatement prepareStatement = conn.prepareStatement(sql);            prepareStatement.setString(1, name);            ResultSet rs = prepareStatement.executeQuery();            while (rs.next()) {                Student student = new Student();                student.setId();                ......vv                listStudent.add(student);            }        } catch (SQLException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }        return listStudent;
查看完整描述

1 回答

?
暮色呼如

TA贡献1853条经验 获得超9个赞

在准备好的语句中,您使用?参数或占位符来传递实际值而不是列名,例如在WHERE子句中:WHERE column1 = ?.

所以改成这样:

String sql = "SELECT  * FROM student ORDER BY " + name;

并删除这一行:

prepareStatement.setString(1, name);


查看完整回答
反对 回复 2022-01-12
  • 1 回答
  • 0 关注
  • 305 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信