Tomcat, нет данных из набора результатов? - PullRequest
1 голос
/ 12 февраля 2012

У меня проблемы с получением какой-либо информации из базы данных mySQL. Я передаю ему правильный запрос, который должен вернуть одну строку. Однако он только возвращает мне 0, начальное значение int results

public String getResultSet(String query) throws SQLException{
            ResultSet rs = null;
            int results=0;
            try {
                con = ds.getConnection();
                Statement stmt = (Statement) con.createStatement();
                rs = stmt.executeQuery(query);

                    while(rs.next()){                   
                        results = rs.getInt("location_id");             
                    }           

                } catch (Exception ex ){               
            } finally {
                if (con != null) con.close();
            }           
            return Integer.toString(results);           
        }

Не выдается никаких ошибок, кто-нибудь может посоветовать, что я делаю не так?

ТИА

Ответы [ 2 ]

1 голос
/ 12 февраля 2012

Похоже, у вас есть блок catch для Exception с пустым телом.Это будет ловить и молча игнорировать любые исключения SQL и так далее.Затем вы выйдете из try / catch и вернете results ..., который все равно будет равен нулю.


То, что вы делаете, это "подавление" исключения;то есть перехватывать и выбрасывать без восстановления или сообщения об ошибках.Это плохая практика .Что еще хуже, вы делаете это для Exception.Это означает, что вы делаете это не только для проверенных исключений, которые вы (возможно) ожидаете, но также для целого ряда непроверенных исключений, которые вы не можете ожидать.

0 голосов
/ 12 февраля 2012

Нет исключений, потому что вы ловите их все, не печатая их.Если они есть, вы их никогда не увидите, потому что ваш блок catch пуст.

...