Ich habe die Folge Code in einem Servlet -SQL-Abfrage ausführen mit 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);
Wenn auf Laufen und erreichen auf die Linie int numOfMatch = numOfMatchResult.getInt(1);
es die Ausnahme auslöst - java.sql.SQLException
. Ich habe es überprüft und gesehen, dass es, weil die executeQuery()
niemand abgerufen. es kommt vor, obwohl ich in persons
Tabelle, erstellt mit MySQL, die 2 Felder - id (text)
mit Wert "300" und password (text)
mit Wert "500" haben. und natürlich überprüfe ich es bei loginID
und loginPassword
mit 2 gleichen Werten. Ich überprüfte alle anderen Dinge über die Verbindung mit der Datenbank und es war OK .. so denke ich, dass das Problem in der SQL-Syntax in strSQLcount
ist.
Bitte zeigen Sie die Exception-Meldung/Trace an. Bitte sagen Sie, ob Ihr Code jemals mit dieser spezifischen Datenbank verbunden ist. – Javier