当您的字符串具有空格时,可能会发生这种情况,因此可以使用以下方法来避免这种情况trim()
:
query.execute("SELECT * FROM patient WHERE FirstName = '" + firstname.trim() +
"' AND LastName = '" + lastname.trim() + "' ");
您设置变量的方式不安全,它可能导致语法错误或导致sql注入,因此建议您使用Prepapred语句,这种方式更安全,因此可以使用以下查询代替:
PreparedStatement preparedStatement = connection.prepareCall("SELECT * FROM patient WHERE FirstName = ? AND LastName = ? ");
preparedStatement.setString(1, firstname.trim());
preparedStatement.setString(2, lastname.trim());
ResultSet result = preparedStatement.executeQuery();
希望这可以与您合作。