Ich habe einen Tabellennamen "Coupon" und ich arbeite mit Java auf Eclipse.SQL-Code: SELECT * FROM Tabelle WHERE Spalte
Ich habe eine Methode getCoupon (lange ID); das gibt mir den Gutschein durch seine ID und ich schrieb es auf diese Weise:
public Coupon getCoupon(long id) {
Connection con = ConnectionPool.getInstance().getConnection();
String sql = "SELECT * FROM Coupon WHERE TYPE=?";
Coupon coupon = new Coupon();
try (PreparedStatement pstmt = con.prepareStatement(sql);){
pstmt.setLong(1, id);
try (ResultSet rs = pstmt.executeQuery();) {
if (rs.next()) {
coupon.setId(rs.getLong(1));
coupon.setTitle(rs.getString(2));
coupon.setStartDate(rs.getDate(3));
coupon.setEndDate(rs.getDate(4));
coupon.setAmount(rs.getInt(5));
coupon.setType(CouponType.valueOf(rs.getString(6)));
coupon.setMessage(rs.getString(7));
coupon.setPrice(rs.getDouble(8));
coupon.setImage(rs.getString(9));
} else {
System.out.println("Coupon ID: " + id + " could not be found\n");
}
}
} catch (SQLException e) {
CouponSystemException ex = new CouponSystemException("Coupon ID: " + id + " could not be retrieved\n", e);
System.out.println(ex.getMessage());
System.out.println(e);
}
ConnectionPool.getInstance().returnConnection(con);
return coupon;
}
Ich möchte eine andere Methode machen, dass es mir den Gutschein gibt von seiner Art! Aber die TYPE COLUMN ist nicht in der ersten Spalte und es gibt mir Ausnahmen. Irgendwelche Ratschläge?
erster rat ... formatieren Sie Ihre Frage –
Welche Ausnahme erhalten Sie? Was ist das Problem beim Abrufen der Zeile durch eine andere Spalte? Gib mehr Details an. –