我有一个servlet中的代码:
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中创建了persons
表,并且有两个字段 - id(文本)
的值为“300”,以及password(文本)
的值为“500”,并且当loginID
和loginPassword
具有相同的这两个值时进行了检查。我检查了与数据库连接相关的所有其他事项,都正常。因此,我认为问题出在strSQLcount
的SQL语法上。