日期:2014-05-20  浏览次数:20796 次

关于jsp代码
这是关于jsp的校园读者信息查询的代码,程序并没有报错,根据性别和班级查询读者信息,根据班级查询的可以实现,但根据性别查询的却没有显示读者信息,请高手指点
<body>
  <% String selectetype=request.getParameter("selectetype");
String selecteinfo=request.getParameter("selecteinfo");
if(selectetype!=null&&selecteinfo!=null){
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String strConn= "jdbc:sqlserver://localhost;databaseName=zc;user=sa;password=123";
Connection conn= DriverManager.getConnection(strConn);  
Statement stmt=conn.createStatement();
String sql1 ="select * from reader where sex='"+selecteinfo+"'"; 
ResultSet rs1= stmt.executeQuery(sql1);
String userid="bysex";
String username = "bybanji";
if((userid.trim()).equals(selectetype.trim())){
%>
<table width="98%" border="1">
  <tr>
  <td width="13%">读者编号</td>  
  <td width="10%">姓名</td>
  <td width="8%">性别</td>
  <td width="12%">班级</td>
  <td width="20%">院系</td>
  </tr>
  <% while(rs1.next()){
out.print("<tr>");
out.print("<td>"+rs1.getString(1)+"</td>");
out.print("<td>"+rs1.getString(2)+"</td>");
out.print("<td>"+rs1.getString(3)+"</td>");
out.print("<td>"+rs1.getString(4)+"</td>");
out.print("<td>"+rs1.getString(5)+"</td>");
out.print("</tr>");}
%>
</table>
<%}
if((username.trim()).equals(selectetype.trim())){
String sql2 ="select * from reader where banji='"+selecteinfo+"'"; 
ResultSet rs2= stmt.executeQuery(sql2);
%>
<table width="98%" border="1">
  <tr>
  <td width="13%">读者编号</td>  
  <td width="10%">姓名</td>
  <td width="8%">性别</td>
  <td width="12%">班级</td>
  <td width="20%">院系</td>
  </tr>
<% while(rs2.next()){
out.print("<tr>");
out.print("<td>"+rs2.getString(1)+"</td>");
out.print("<td>"+rs2.getString(2)+"</td>");
out.print("<td>"+rs2.getString(3)+"</td>");
out.print("<td>"+rs2.getString(4)+"</td>");
out.print("<td>"+rs2.getString(5)+"</td>");
out.print("</tr>");}
%>
</table>
<%} }%>

------解决方案--------------------
不好意思我来晚了,回答完这个要睡觉了呵呵!
String selecteinfo=request.getParameter("selecteinfo");
String sql1 ="select * from reader where sex='"+selecteinfo+"'"; 
从你的代码中可以看出你传到数据库的是String类型,而我相信你在数据库中sex的存储一定不是varchar吧。一般都是一个bity位或者是数字0或1,所以你要好好检查一下你的数据库中定义的类型,然后把selecteinfo做个转换就ok了,祝你好运!
------解决方案--------------------
楼主确认selecteinfo 是有值的?