if("1".equals(arch_Borrow)){
sql = "Select * From archives where arch_User =\'"+arch_User+"\' and arch_Borrow = \'"+arch_Borrow+"\'";
}else if("2".equals(arch_Borrow)){
sql = "Select * From archives where arch_Borrow = \'"+arch_Borrow+"\'";
}else{
sql = "Select * From archives where 1=2";
}
ResultSet rs = DBConn.archivesQuery(sql);
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
<a href="cadre_borrow.jsp?arch_Borrow=1"> <strong> <font color="#FFFFFF">查看借阅申请 </font> </strong> </a>
</b> </td>
<td width="214" align="center" valign="center" bgcolor="#799AE1"> <b>
<a href="cadre_borrow.jsp?arch_Borrow=2"> <strong> <font color="#FFFFFF">查看借阅信息 </font> </strong> </a>
</b> </td> 、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
while(i <intPageSize && !rs.isAfterLast()){
String user_host = rs.getString("arch_User");
String sql_a = "Select * From cadre where user_ID = \'"+user_host+"\'";
ResultSet rs_a = DBConn.executeQuery(sql_a);
rs_a.next(); %>
<tr onMouseOver="Cbg(this, '#799AE1')" onMouseOut="Cbg(this, '#FFFFFF')">
<td align="center"> <b> <%=rs.getString("arch_No")%> </b> </td>
<td align="center"> <b> <%=rs.getString("arch_Mark")%> </b> </td>
<td align="center"> <b> <%=rs.getString("arch_Name")%> </b> </td>
<td align="center"> <b> <%=rs.getString("arch_cardNo")%> </b> </td>
<td align="center"> <b> <%=rs.getString("arch_Birthday")%> </b> </td>
<td align="center"> <b> <%=rs.getString("arch_W_hours")%> </b> </td>
<td align="center"> <b> <%=rs.getString("arch_Plant")%> </b> </td>
<td align="center"> <b> <%=rs.getString("arch_TOW")%> </b> </td>
<td align="center"> <b> <%=rs.getString("arch_Actuality")%> </b> </td>
<td align="center"> <b> <%=rs.getString("arch_Place")%> </b> </td>
<td align="center"> <b> <%=rs.getString("arch_Company")%> </b> </td>
<td align="center"> <b> <%=rs_a.getString("user_Name")%> </b> </td>
</tr>
<%
rs.next();
i++;
}
while()中是否应该加入:rs_a.close();
在这个文件地结束是否应该加入这三句话?
rs.close();
stmt.close();
conn.close();
可是点多了“查看借阅信息”“查看借阅申请”,这个页面还是发送到这个页面,服务器就会变慢,各位高手帮帮忙,看是那里地问题
sql = "Select * From archives where arch_User =\'"+arch_User+"\' and arch_Borrow = \'"+arch_Borrow+"\'";
}else if("2".equals(arch_Borrow)){
sql = "Select * From archives where arch_Borrow = \'"+arch_Borrow+"\'";
}else{
sql = "Select * From archives where 1=2";
}
ResultSet rs = DBConn.archivesQuery(sql);
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
<a href="cadre_borrow.jsp?arch_Borrow=1"> <strong> <font color="#FFFFFF">查看借阅申请 </font> </strong> </a>
</b> </td>
<td width="214" align="center" valign="center" bgcolor="#799AE1"> <b>
<a href="cadre_borrow.jsp?arch_Borrow=2"> <strong> <font color="#FFFFFF">查看借阅信息 </font> </strong> </a>
</b> </td> 、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
while(i <intPageSize && !rs.isAfterLast()){
String user_host = rs.getString("arch_User");
String sql_a = "Select * From cadre where user_ID = \'"+user_host+"\'";
ResultSet rs_a = DBConn.executeQuery(sql_a);
rs_a.next(); %>
<tr onMouseOver="Cbg(this, '#799AE1')" onMouseOut="Cbg(this, '#FFFFFF')">
<td align="center"> <b> <%=rs.getString("arch_No")%> </b> </td>
<td align="center"> <b> <%=rs.getString("arch_Mark")%> </b> </td>
<td align="center"> <b> <%=rs.getString("arch_Name")%> </b> </td>
<td align="center"> <b> <%=rs.getString("arch_cardNo")%> </b> </td>
<td align="center"> <b> <%=rs.getString("arch_Birthday")%> </b> </td>
<td align="center"> <b> <%=rs.getString("arch_W_hours")%> </b> </td>
<td align="center"> <b> <%=rs.getString("arch_Plant")%> </b> </td>
<td align="center"> <b> <%=rs.getString("arch_TOW")%> </b> </td>
<td align="center"> <b> <%=rs.getString("arch_Actuality")%> </b> </td>
<td align="center"> <b> <%=rs.getString("arch_Place")%> </b> </td>
<td align="center"> <b> <%=rs.getString("arch_Company")%> </b> </td>
<td align="center"> <b> <%=rs_a.getString("user_Name")%> </b> </td>
</tr>
<%
rs.next();
i++;
}
while()中是否应该加入:rs_a.close();
在这个文件地结束是否应该加入这三句话?
rs.close();
stmt.close();
conn.close();
可是点多了“查看借阅信息”“查看借阅申请”,这个页面还是发送到这个页面,服务器就会变慢,各位高手帮帮忙,看是那里地问题
1、sql中的单引号没必要转义。想避免SQL注入,需要使用PreparedStatement而不是Statement。
2、你的rs.next()调用了两次,这样你的数据读取将会隔行丢失。
3、操作完毕之后,ResultSet、Statement、Connection等各个与数据库连接有关的对象都必须关闭。否则你的程序用不了几分钟就会崩溃。
<%
rs.next();
i++;
} %》 加入了ResultSet、Statement、Connection地关闭语句
结尾也是,可是while中加入后只是可以多点击几次,点地多了还是页面没有反映,好像是数据库没有反映,服务器没有问题。我用地access数据库。3、操作完毕我都关闭了,请问数据库连接池好用了,能推荐本书看看不?谢谢loveyt 感谢