У меня есть следующий код в сервлете-
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
.