在 MySQL table 中查找列时出错
Error finding a column in a MySQL table
我试图从我的数据库中的 table 中获取一列,但出现以下错误:
java.sql.SQLException: Column 'price' not found.
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:996)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:935)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:924)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:870)
at com.mysql.jdbc.ResultSetImpl.findColumn(ResultSetImpl.java:1064)
at com.mysql.jdbc.ResultSetImpl.getDouble(ResultSetImpl.java:2234)
at webServices.TheServicesImplementation.findShops(TheServicesImplementation.java:964)
at main.MainFunction.main(MainFunction.java:26)
我使用的查询是:
private final String priceSQL = "select price as price from items_shops i where i.shop_id = ? and i.item_id = ?";
我的代码是:
try {
preparedStatementB = dbConnection.prepareStatement(priceSQL);
preparedStatementB.setInt(1, shop_id);
preparedStatementB.setInt(2, item_id);
setB = preparedStatementB.executeQuery();
if (!setB.next()) {
System.out.println("Error finding price.");
return null;
}
else
{
price = set.getDouble("price");
}
}catch (SQLException e) {
e.printStackTrace();
}finally{
try {
preparedStatementB.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
但这很奇怪,因为 price
列是否存在于 table items_shops
(在 SQL 控制台中执行查询成功)。谁能帮帮我?
结果集已分配给名为 setB
的变量,但您正试图从名为 set
的变量中提取价格。
我试图从我的数据库中的 table 中获取一列,但出现以下错误:
java.sql.SQLException: Column 'price' not found. at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:996) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:935) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:924) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:870) at com.mysql.jdbc.ResultSetImpl.findColumn(ResultSetImpl.java:1064) at com.mysql.jdbc.ResultSetImpl.getDouble(ResultSetImpl.java:2234) at webServices.TheServicesImplementation.findShops(TheServicesImplementation.java:964) at main.MainFunction.main(MainFunction.java:26)
我使用的查询是:
private final String priceSQL = "select price as price from items_shops i where i.shop_id = ? and i.item_id = ?";
我的代码是:
try {
preparedStatementB = dbConnection.prepareStatement(priceSQL);
preparedStatementB.setInt(1, shop_id);
preparedStatementB.setInt(2, item_id);
setB = preparedStatementB.executeQuery();
if (!setB.next()) {
System.out.println("Error finding price.");
return null;
}
else
{
price = set.getDouble("price");
}
}catch (SQLException e) {
e.printStackTrace();
}finally{
try {
preparedStatementB.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
但这很奇怪,因为 price
列是否存在于 table items_shops
(在 SQL 控制台中执行查询成功)。谁能帮帮我?
结果集已分配给名为 setB
的变量,但您正试图从名为 set
的变量中提取价格。