tengo el código de seguimiento en un servlet -consulta SQL ejecutar con 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);
Cuando el correr y llegar a la línea de int numOfMatch = numOfMatchResult.getInt(1);
se produce la excepción - java.sql.SQLException
. Lo revisé y lo vi porque el executeQuery()
no recuperó a nadie. ocurre aunque tengo en la tabla persons
, creada con MySQL, los 2 campos - id (text)
con el valor "300" y password (text)
con el valor "500". y por supuesto lo controlo cuando loginID
y loginPassword
con los mismos 2 valores. Comprobé todas las otras cosas sobre la conexión a la base de datos y estaba bien ... así que creo que el problema está en la sintaxis de SQL en strSQLcount
.
Por favor, muestre el mensaje/rastreo de excepción. Dígame si su código alguna vez se ha conectado a esa base de datos específica. – Javier