【发布时间】:2012-06-26 16:10:10
【问题描述】:
我想从涉及许多表的查询中检索数据。 我有一个查询如下
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);
运行程序时没有发现错误,但是在我添加此行以获取表的列数据后:
String orderID = resultSet.getString("foodName");
我收到了这个错误:
java.sql.SQLException: Column not found
有人知道为什么吗?
【问题讨论】:
-
在
String orderID = resultSet.getString("foodName");上设置断点并查看resultSet包含的内容。 -
@ZnArK 发生这种情况是因为 ResultSet.getString(String) 按其名称而不是其别名/标签来获取列。这实际上是“有人知道为什么吗?”这个问题的答案,但由于它不能解决问题,所以我将其作为评论留下。
标签: jdbc