在 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 的变量中提取价格。