我用jsp连接数据库,我用odbc实现了,但 还有个问题,我想让性别相同的列显示相同的颜色,我始终都弄不出来?请教
代码:
     <%@page contentType="text/html;charset=gb2312"%> 
<%@page import="java.sql.*"%> 
<html>
<head></head> 
<body> 
<table border=3>
<tr><td><b>学生学号</td>
<td><b>学生姓名</td>
<td><b>学生性别</td>
<td><b>学生年龄</td></tr>
<% 
   Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
   String url = "jdbc:odbc:sun";
   Connection conn = DriverManager.getConnection(url,"hq","123"); 
   Statement stmt = conn.createStatement(); 
   ResultSet rs = stmt.executeQuery("SELECT * FROM good"); 
  while(rs.next())
   {    
      
     
      out.print("<tr>");
      out.print("<td>"+rs.getString(1)+"</td>"); 
      out.print("<td>"+rs.getString(2)+"</td>");
      out.print("<td>"+rs.getString(3)+"</td>");
      out.print("<td>"+rs.getInt(4)+"</td>");
      out.print("</tr>");
   } 
    rs.close(); 
    stmt.close(); 
    conn.close(); 
%> 
</table>
</body> 
</html

解决方案 »

  1.   

    让性别相同的行吧!!<%   
          Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");   
          String   url   =   "jdbc:odbc:sun"; 
          Connection   conn   =   DriverManager.getConnection(url,"hq","123");   
          Statement   stmt   =   conn.createStatement();   
          ResultSet   rs   =   stmt.executeQuery("SELECT   *   FROM   good");   
        String gender;
        while(rs.next()) 
          {   
                out.print(" <tr"+("男".equals(rs.getString(3)?" bgcolor='EEDDFF'":"")+"> "); 
                out.print(" <td> "+rs.getString(1)+" </td> ");   
                out.print(" <td> "+rs.getString(2)+" </td> "); 
                out.print(" <td> "+rs.getString(3)+" </td> "); 
                out.print(" <td> "+rs.getInt(4)+" </td> "); 
                out.print(" </tr> "); 
          }   
            rs.close();   
            stmt.close();   
            conn.close();   
    %>   
      

  2.   

    1楼的三目运算符出错了,不会显示出来。String color = "男".equals(rs.getString(3) ? " bgcolor='EEDDFF'" : "";out.print("   <tr" + color + ">   "); 
    另外,建议不要在jsp中做这种操作,即使做也最好使用tag实现,比如jstl提供了现成的:)  
      

  3.   

    综合1楼和2楼的提案,总结一下,思路是对的,可能是小地方的错误   String color = "男".equals(rs.getString(3))?"bgcolor='EEDDFF'":""; 
       out.print("<tr "+color+">"+rs.getString(3)+"</td>");   不知道这样可不可以解决你的问题 
      

  4.   

    不好意思td对的搞错了    String color  ="男".equals(rs.getString(3))?"bgcolor='EEDDFF'":"";   
        out.print(" <td   "+color+"> "+rs.getString(3)+" </td> ");