在SQL查询中获取意外的令牌错误

问题描述 投票:0回答:1

String query3 = "SELECT TOP " + importStockList.getOrderQuantity() +" IServe.ID FROM IServe WHERE " + " ExpireDate >= '" + sqlDate + "' " + " AND TelcoID = '" + importStockList.getTelcoId() + "' AND ProductID = '" + importStockList.getProductId() + "' AND " + "RechargeAmt = '" + importStockList.getRechargeAmt() + "' AND Available = 1 ORDER BY ExpireDate, SN" ; Session hbsessionSQL = HibernateUtilSQL.getSessionFactory().openSession(); List<Iserve> iserve = hbsessionSQL.createQuery(query3).list();

您能帮我解决这个错误吗?我被困在这里
java sql hibernate
1个回答
0
投票
try { Session session = HibernateUtilSQL.getSessionFactory().openSession(); Connection conn = session.connection(); String sql = "SELECT ID FROM IServe WHERE ExpireDate >= ? AND TelcoID = ? AND ProductID = ? AND RechargeAmt = ? AND Available = 1 ORDER BY ExpireDate, SN LIMIT ?"; PreparedStatement ps = conn.prepareStatement(sql); ps.setDate(1, sqlDate); ps.setInt(2, importStockList.getTelcoId()); ps.setInt(3, importStockList.getProductId()); ps.setInt(4, importStockList.getRechargeAmt()); ps.setInt(5, importStockList.getOrderQuantity()); ResultSet rs = ps.executeQuery(); while(rs.next()) { // process result set here } } catch(HibernateException e) { e.printStackTrace(); }
© www.soinside.com 2019 - 2024. All rights reserved.