用于从两个表中获取数据的Java代码
这里我从数据库中获取数据:用于从两个表中获取数据的Java代码,java,sql,Java,Sql,这里我从数据库中获取数据: String pnumber = request.getParameter("pnumber"); ResultSet rs = DAO.fetch("SELECT * FROM Products Where ProductNumber ='" + pnumber + "'"); ResultSet r = DAO.fetch("SELECT * FROM ExpensiveProducts"); 数据未通过此条件 try {
String pnumber = request.getParameter("pnumber");
ResultSet rs = DAO.fetch("SELECT * FROM Products Where ProductNumber ='" + pnumber + "'");
ResultSet r = DAO.fetch("SELECT * FROM ExpensiveProducts");
数据未通过此条件
try {
int v = Integer.parseInt(pnumber);
if (pnumber.length() == 7) {
您在
rs.next()
周围有一个循环-这将对其中的每个记录迭代一次
您正在查看的r.next()
-这将是多少
如果它们不完全匹配,那么您将在访问数据时遇到问题。这里没有问题。你能详细说明一下你的目标吗?当我试图从r.next()获取数据时,它不会来,为什么会这样?请在问题中添加更多信息。首先把你的评论移到问题上。我需要从两个表中搜索,并验证我该如何做?从一个循环中搜索,另一个在完全独立的循环中搜索?
while (rs.next()) {
String pn = rs.getString(3);
String pqty = rs.getString(4);
int qty = Integer.parseInt(pqty);
if (pn.equals(pnumber)) {
if (qty > 0) {
response.sendRedirect("Status.jsp?Status=Available");
} else {
response.sendRedirect("Status.jsp?Status=Not Available");
}
} else {
while (r.next()) {
String epn = r.getString(3);
String epp = r.getString(4);
out.print(pnumber);
out.print(epn);
if (epn.equals(pnumber)) {
response.sendRedirect("Status.jsp?Status=EAvailable");
} else {
response.sendRedirect("Status.jsp?Status=E NAvailable");
}
}
response.sendRedirect("Status.jsp?Status=Product number not exist");
}
}
} else {
response.sendRedirect("Status.jsp?Status=test");
}