i wan to retrieve data from query involving many tables.
i have a query as follows
String sql = "SELECT "
+ "s.Food_ID AS 'Sales_FoodID', "
+ "f.Food_Name AS 'foodName' "
+ "FROM Ordering o, Sales s, Food f"
+ " WHERE o.Table_No = " + tableNo + ""
+ " AND o.Paid = '" + NOT_PAID + "'"
+ " AND s.Order_ID = o.Order_ID"
+ " AND f.Food_ID = s.Food_ID;";
resultSet = statement.executeQuery(sql);
no error were found when i run the program, but after i add this line to get a table’s column data:
String orderID = resultSet.getString("foodName");
i’m given this error:
java.sql.SQLException: Column not found
anyone know why?
You have to use
next()method.You should know that
ResultSetis implicitly positioned on position before first row so you need to call next to get current position and if is valid, it returnstrue, else returnsfalse(cursor is positioned after the last row).Note: You can use also
rs.getString(<columnName>)but in case when you know how your statement looks i recommend to you use index instead of columnName.