Java JDBC-Query不返回任何值

Java JDBC-Query不返回任何值,java,oracle,jdbc,Java,Oracle,Jdbc,我尝试在java类上使用JDBC进行一个返回一系列简单结果的查询。查询只需要1个联接即可工作,但由于某些原因,它不返回任何值。但是,在Oracle SQL Developer上运行此查询时,将显示正确的结果。下面是我目前使用的代码 访问数据库 检索数据 非常感谢您为解决此问题提供的任何帮助。从您发布的代码中,我看不到任何结果集的打印。 你怎么知道它什么也不退? 你能在while(rs.next)循环(if,计数器)之前/之后放一个print语句,看看它是否真的是空的吗? 如果为空,请尝试从查询中

我尝试在java类上使用JDBC进行一个返回一系列简单结果的查询。查询只需要1个联接即可工作,但由于某些原因,它不返回任何值。但是,在Oracle SQL Developer上运行此查询时,将显示正确的结果。下面是我目前使用的代码

访问数据库 检索数据
非常感谢您为解决此问题提供的任何帮助。

从您发布的代码中,我看不到任何结果集的打印。 你怎么知道它什么也不退? 你能在while(rs.next)循环(if,计数器)之前/之后放一个print语句,看看它是否真的是空的吗? 如果为空,请尝试从查询中删除表别名

编辑: 在“从房屋tbl中选择房屋id”中修改查询,执行查询并在

stmt = conn.createStatement(); 
rs = stmt.executeQuery(query); 


并立即注释掉/绕过打印代码。这是为了检查您的环境在该上下文中的基线可操作性。如果这不起作用,一定是数据库/驱动程序问题,对我来说

如果您需要了解有关OP问题的更多详细信息,请将您的查询添加为注释而不是答案:)我编辑了上述代码,以向您展示我如何打印字符串以及结果。@Arkatos:谢谢您的提醒,我考虑过了。不幸的是,我不允许发表评论(需要声誉:50)。在这种情况下,你能告诉我怎么办吗?我试图根据问题的最后一句话“非常感谢为解决这一问题提供的任何帮助”来帮助回答这个问题,这句话“模糊地”将我的回答归类为“答案”。你认为呢?@ChrisGraves if System.out.println(allHouses.size())打印“0”(未显示)。我能说的是:检查您在Java中连接的数据库是否与SQL Developer的数据库相同(可能存在不同的类似实例?),并检查变量“rs”(非常常见的名称)没有被覆盖,实际上指向了正确的位置。我对不同的查询使用了相同的连接,所有这些都很好地工作。这是我唯一遇到麻烦的一个。
response.setContentType("application/json");

fullJsonString = "{";
fullJsonString += "\"houses\":[";
ArrayList<HouseObj> allHouses = new ArrayList<HouseObj>();
try {
    while (rs.next()) {
        int houseID = rs.getInt(1);
        Struct address = (Struct) rs.getObject(2);
        Object[] taskAddress = address.getAttributes();
        String houseAddressStreet = taskAddress[0].toString();
        String houseAddressTown = taskAddress[1].toString();
        String houseAddressCounty = taskAddress[2].toString();
        String houseAddressCountry = taskAddress[3].toString();
        String houseAddressPostcode = taskAddress[4].toString();
        String houseFullAddress = houseAddressStreet + ", "
                + houseAddressTown + ", " + houseAddressCounty
                + ", " + houseAddressCountry + ", "
                + houseAddressPostcode;
        String type = rs.getString(3);
        String status = rs.getString(4);
        String landlord = rs.getString(5)+" "+rs.getString(6);
        int price = rs.getInt(7);

        HouseObj newClient = new HouseObj(houseID,
        houseFullAddress, type, status, landlord, price);
        allHouses.add(newClient);
    }

    System.out.println("Number Of Houses : "+allHouses.size());
    for (int i = 0; i < allHouses.size(); i++) {
        if (i == allHouses.size() - 1) {
            fullJsonString += "{\"id\":\""
                    + allHouses.get(i).getHouseId() + "\","
                    + "\"address\":\""
                    + allHouses.get(i).getAddress() + "\","
                    + "\"type\":\""
                    + allHouses.get(i).getType() + "\","
                    + "\"status\":\""
                    + allHouses.get(i).getStatus() + "\","
                    + "\"landlord\":\""
                    + allHouses.get(i).getLandlord() + "\","
                    + "\"price\":\""
                    + allHouses.get(i).getPrice() + "\"}";
        } else {
            fullJsonString += "{\"id\":\""
                    + allHouses.get(i).getHouseId() + "\","
                    + "\"address\":\""
                    + allHouses.get(i).getAddress() + "\","
                    + "\"type\":\""
                    + allHouses.get(i).getType() + "\","
                    + "\"status\":\""
                    + allHouses.get(i).getStatus() + "\","
                    + "\"landlord\":\""
                    + allHouses.get(i).getLandlord() + "\","
                    + "\"price\":\""
                    + allHouses.get(i).getPrice() + "\"},";
        }

    }
    fullJsonString += "]}";

} //Catch Exception Below
Number Of Houses : 0
{"houses":[]}
stmt = conn.createStatement(); 
rs = stmt.executeQuery(query); 
if (rs.next()){ 
    System.out.println("Got house!"); 
}else{ 
    System.out.println("No houses here!"); 
}