SQL-запрос выполняется с PreparedStatement

У меня есть следующий код в сервлете-

            String loginID = request.getParameter("loginId").toString();
            String loginPassword = request.getParameter("loginPassword").toString();
            String strSQLcount = "SELECT COUNT(*) as 'Number Of Match' "
                + "FROM persons " + "WHERE (password =? AND  id =?);";
            PreparedStatement prepareSQL = connection
                   .prepareStatement(strSQLcount);
            prepareSQL.setString(1, loginPassword);
            prepareSQL.setString(2, loginID);
            ResultSet numOfMatchResult = prepareSQL.executeQuery();
            // now we know number of matchs...
            int numOfMatch = numOfMatchResult.getInt(1);

При запуске и достижении строки int numOfMatch = numOfMatchResult.getInt(1);выдается исключение-java.sql.SQLException. Я проверил это и увидел, что это потому, что executeQuery()никого не забрал. это происходит, хотя у меня есть в таблице persons, созданной с помощью MySQL, 2 поля- id (text)со значением "300" и password (text)со значением "500". и, конечно, я проверяю это, когда loginIDи loginPasswordс одинаковыми двумя значениями. Я проверил все остальные вещи, связанные с подключением к БД, и все было в порядке... поэтому я думаю, что проблема в синтаксисе SQL в strSQLcount.

6
задан URL87 5 August 2012 в 08:33
поделиться