2013-05-10 3 views
0

Im, используя веб-приложение, которое работает на Apache Tomcat и имеет Mysql базы данных в качестве сервернойFetch несколько записей из базы данных MySQL Использования Где п

Я хочу, чтобы получить несколько строк для конкретного столбца USIN ИНЕК

Например, если я даю select * из xyz, где type = abc

Я должен получить все строки, имеющие тип abc.

Проблема:

Я использую соединение JDBC для достижения этой цели, однако только первая строка соответствия где возвращается состояние, а не все строки (даже если несколько строк соответствуют критериям, указанным в базе данных)

Пожалуйста, помогите мне решить эту

код:

<%@ page import="java.sql.*" %> 
<html> 
<head><link href="style.css" rel ="stylesheet" type="text/css"></head> 

<body bgcolor="white" > 

<div id="container"> 
<div id="header"> 
    <img src="logo.jpg"> 

    <div class ="horiztext"><p> Order Tracker</p></div> 
    </div> 

</div> 
    <br> 

    <img src="banner.jpg" width="1500 " height="5"><br> 
    <% if(session.getAttribute("username") !=null) 
{ 
%> 
    <div id="navbar"> 
    <ul> 
     <li><a href="newoder.jsp">New Order</a></li> 
     <li><a href="updateorder.jsp">Update Order</a></li> 
     <li><a href="trackorder.jsp">Track Order</a></li> 
     <li><a href="trackdelay.jsp">Track Delay</a></li> 
     <li><a href="vieworder.jsp">View Database</a></li> 
     <li><a href="delete.jsp">Delete Order</a></li> 
     <li><a href="logout.jsp">Logout</a></li> 
    </ul> 
    </div> 
    <br> 
    <br> 

    <form> 
    <TABLE cellpadding="15" border="1" style="background-color: #ffffcc;"> 
    <% 
    String ProductNamez=request.getParameter("ProductName"); 

    Class.forName("com.mysql.jdbc.Driver").newInstance(); 
    Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3307 
/test","root", "root"); 
    Statement st=conn.createStatement(); 
    ResultSet rs = st.executeQuery("SELECT * FROM inventory WHERE ProductName = '"+ 
    ProductNamez +"' "); 
    if(rs.next()){ 
     %> 

<tr> 
<tr><th>Serial No</th> 
<th>Product Name</th> 
<th>Product Type</th> 
<th>Model</th> 
<th>Make</th> 
<th>License/Voucher</th> 
<th>Location</th> 



</tr> 
<tr> 
<td><%=rs.getString(1)%></td> 
<td><%=rs.getString(2)%></td> 
<td><%=rs.getString(3)%></td> 
<td><%=rs.getString(4)%></td> 
<td><%=rs.getString(5)%></td> 
<td><%=rs.getString(6)%></td> 
<td><%=rs.getString(7)%></td> 


</tr> 
      <% 
    } 
    %> 
    </table> 
    </form> 
    <% 
} 
else { %> 
you are not logged in click here to <a href="eric.jsp"><b>login</b></a> 

<% 
} %> 
</body> 
</html> 

ответ

2

Вы будете хотеть

while (rs.next()){ 

вместо

if (rs.next()){ 
+0

спасибо! Это решило мою проблему! –

0

Это потому, что вы просто сделать if(rs.next()){ это только первая строка отображается.

Вы должны сделать это вместо того, чтобы

while (rs.next()) { 

     [...] 

    } 
Смежные вопросы