【发布时间】:2015-04-29 22:26:37
【问题描述】:
我正在尝试从我的 SQL 数据库中的表中提取名字和姓氏。在没有“as First”部分的情况下,查询在 SQL 中工作正常,我知道数据库连接很好,因为它在代码的所有其他部分都工作。
我收到的错误是 table "First" does not exist,但它应该查看表名的 firstName 和 lastName,而不是 FirstName 和 LastName。
它在带有“i”的 for 循环内,但这些值是正确的,playerid = i 存在。
try {
String query2 = " SELECT firstName as First from player "
+ "WHERE playerid = ?";
PreparedStatement st2 = db.conn.prepareStatement(query);
st2.setInt(1, i);
ResultSet rs2 = st2.executeQuery();
if (rs2.next()) {
setFirstName(rs2.getString("First"));
}
String query3 = " SELECT lastName as Last from player "
+ "WHERE playerid = ?";
PreparedStatement st3 = db.conn.prepareStatement(query);
st3.setInt(1, i);
ResultSet rs3 = st3.executeQuery();
if (rs3.next()) {
setLastName(rs3.getString("Last"));
}
}
catch (SQLException e) {
e.printStackTrace();
}
【问题讨论】:
-
请发布您收到的确切错误消息。
-
您每次都在准备
query,而不是query2或query3。query是什么? -
你是对的。我正在准备错误的查询。它来自早期的代码。这解决了问题。不知道为什么我没有注意到。错误消息说该表不存在,因为它正在准备的查询引用了另一个表,而不是我需要的那个。感谢您的帮助。