Java 在MySQL表中查找列时出错

Java 在MySQL表中查找列时出错,java,mysql,prepared-statement,sqlexception,tablecolumn,Java,Mysql,Prepared Statement,Sqlexception,Tablecolumn,我试图从数据库中的表中获取列,但出现以下错误: java.sql.SQLException:未找到“price”列。 位于com.mysql.jdbc.SQLError.createSQLException(SQLError.java:996) 位于com.mysql.jdbc.SQLError.createSQLException(SQLError.java:935) 位于com.mysql.jdbc.SQLError.createSQLException(SQLError.java:924)

我试图从数据库中的表中获取列,但出现以下错误:

java.sql.SQLException:未找到“price”列。 位于com.mysql.jdbc.SQLError.createSQLException(SQLError.java:996) 位于com.mysql.jdbc.SQLError.createSQLException(SQLError.java:935) 位于com.mysql.jdbc.SQLError.createSQLException(SQLError.java:924) 位于com.mysql.jdbc.SQLError.createSQLException(SQLError.java:870) 位于com.mysql.jdbc.ResultSetImpl.findColumn(ResultSetImpl.java:1064) 位于com.mysql.jdbc.ResultSetImpl.getDouble(ResultSetImpl.java:2234) 在webServices.TheServicesImplementation.findShops(TheServicesImplementation.java:964) 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();
    }
}


但这很奇怪,因为表
items\u shops
中确实存在一列
price
(在SQL控制台中执行查询成功)。有人能帮我吗?

结果集被分配给一个名为
setB
的变量,但您正试图从名为
set
的变量中提取价格。结果集被分配给一个名为
setB
的变量,但您正试图从名为
set
的变量中提取价格。您是否尝试过执行这个来自mysql控制台的查询?是的,它成功了…:/您确定连接设置中的架构定义正确吗?你能从同一张表中得到另一列吗?@Nambari我能得到所有的列。在我使用的其他查询中,我得到了它们。我想不出这个有什么问题<代码>您确定连接设置中的架构定义正确吗?您的意思是什么?您能解释一下吗?您确定您正在连接到同一个数据库,在该数据库中您尝试(成功)通过mysql控制台执行查询吗?您尝试过从mysql控制台执行此查询吗?是的,它成功了…:/您确定连接设置中的架构定义正确吗?你能从同一张表中得到另一列吗?@Nambari我能得到所有的列。在我使用的其他查询中,我得到了它们。我想不出这个有什么问题
您确定连接设置中的架构定义正确吗?
这是什么意思?你能解释一下吗?你确定你正在连接同一个数据库,在这个数据库中你尝试(成功地)通过mysql控制台执行查询吗?很好。如果这不是一个问题,这可能是问题所在。如果代码恰好声明了一个具有正确类型名称的变量,则不是问题所在。非常感谢!!我一直在扫描我所有的代码,寻找任何打字错误,但我就是看不到!谢谢!接得好。如果这不是一个问题,这可能是问题所在。如果代码恰好声明了一个具有正确类型名称的变量,则不是问题所在。非常感谢!!我一直在扫描我所有的代码,寻找任何打字错误,但我就是看不到!谢谢!