mam kod podążać serwletu -zapytań SQL wykonać z 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);
Kiedy na prowadzeniu i dotrzeć do linii int numOfMatch = numOfMatchResult.getInt(1);
zgłasza wyjątek - java.sql.SQLException
. Sprawdziłem to i zobaczyłem, że to dlatego, że executeQuery()
nikogo nie odzyskał. Występuje, chociaż mam w tabeli persons
, utworzony za pomocą MySQL, 2 pola - id (text)
o wartości "300" i password (text)
o wartości "500". i oczywiście sprawdzam to, gdy loginID
i loginPassword
z tymi samymi 2 wartościami. Sprawdziłem wszystkie inne rzeczy dotyczące połączenia z DB i było OK ... więc myślę, że problem jest w składni SQL w strSQLcount
.
Proszę pokazać komunikat/ślad wyjątku. Powiedz, czy twój kod kiedykolwiek był podłączony do tej konkretnej bazy danych. – Javier