サーブレットに次のコードがあります-
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()
誰も検索しなかったので確認してみました。これは、MySQLで作成されたテーブルに、値「300」と値「500」persons
の2つのフィールド
がありますが発生します。そしてもちろん、同じ2つの値でチェックします。DBへの接続について他のすべてのことを確認しましたが、問題はありませんでした。問題はのSQL構文にあると思います。id (text)
password (text)
loginID
loginPassword
strSQLcount