我最近用黑魔方jsp基础教程,先是在sql server服务器上的pubs数据库新建了students表,接着在odbc数据源添加了数据源,数据源名称sun,改变默认数据库为pubs,然后测试成功,添加完成。接着我用jdbc-odbc桥连,相关的students表单和代码如下:
表单: 
学号  姓名 数学成绩  英语成绩 物理成绩
 21 小花 90 75 97代码:
<%@ page contentType="text/html;charset=GB2312" %>
<HTML>
<BODY>
<Font size=1>
<FORM action="byname.jsp" Method="post">
 <P>成绩查询
 <P>输入姓名:
  <Input type=text name="name">
  <Input type=submit name="g" value="提交">
</Form>
<FORM action="byscore.jsp" Method="post" >
 <P>根据分数查询名单:<BR>  英语分数在 
<Input type=text name="englishmin" value=0>
  和
 <Input type=text name="englishmax" value=100>
  之间
 <BR> 数学分数在 
<Input type=text name="mathmin" value=0>
  和
 <Input type=text name="mathmax" value=100>
  之间
  <BR>  <Input type=submit  value="提交">
</Form>
</BODY>
</HTML>byname.jsp
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="java.sql.*" %>
<HTML>
<BODY>
  <% //获取提交的姓名:
    String name=request.getParameter("name");
          if(name==null)
            {
               name="";
            }
     byte b[]=name.getBytes("ISO-8859-1");
     name=new String(b);
    Connection con=null;
    Statement sql=null;
    ResultSet rs=null;
       try{
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
          }
       catch(ClassNotFoundException e){}
       try {
             con=DriverManager.getConnection("jdbc:odbc:sun","sa","");
             sql=con.createStatement();
             String condition="SELECT * FROM students WHERE 姓名 = "+"'"+name+"'";
             rs=sql.executeQuery(condition);
         out.print("<Table Border>");
              out.print("<TR>");
              out.print("<TH width=100>"+"学号");
              out.print("<TH width=100>"+"姓名");
              out.print("<TH width=50>"+"数学成绩");
              out.print("<TH width=50>"+"英语成绩");
              out.print("<TH width=50>"+"物理成绩");
              out.print("</TR>");
              while(rs.next())
                   {
                     out.print("<TR>");
                     out.print("<TD >"+rs.getString(1)+"</TD>"); 
                     out.print("<TD >"+rs.getString(2)+"</TD>");
                     out.print("<TD >"+rs.getInt("数学成绩")+"</TD>"); 
                     out.print("<TD >"+rs.getInt("英语成绩")+"</TD>");
                     out.print("<TD >"+rs.getInt("物理成绩")+"</TD>");   
                     out.print("</TR>") ;  
                    }
              out.print("</Table>");
              con.close();
           }
    catch(SQLException e)
           {  }
%>
</BODY>
</HTML>byscore.jsp
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="java.sql.*" %>
<HTML>
<BODY>
  <% //获取提交的分数的最大值和最小值:
    String englishmax=request.getParameter("englishmax");
          if(englishmax==null)
            {
              englishmax="100";
            }
    String englishmin=request.getParameter("englishmin");
          if(englishmin==null)
            {
              englishmin="0";
            }
    String mathmax=request.getParameter("mathmax");
          if(mathmax==null)
            {
              mathmax="100";
            }
    String mathmin=request.getParameter("mathmin");
          if(mathmin==null)
            {
              mathmin="0";
            }
    Connection con=null;
    Statement sql=null;
    ResultSet rs=null;
       try{
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
          }
       catch(ClassNotFoundException e){}
       try
       {  
           con=DriverManager.getConnection("jdbc:odbc:sun","sa","");
           sql=con.createStatement();
           String eCondition="英语成绩 <= "+englishmax+" AND "+"英语成绩 >= "+englishmin;
           String mCondition="数学成绩 <= "+mathmax+" AND "+"数学成绩 >= "+mathmin;
           String condition="SELECT * FROM students WHERE "+mCondition+" and "+eCondition;
           rs=sql.executeQuery(condition);
       out.print("<Table Border>");
            out.print("<TR>");
            out.print("<TH width=100>"+"学号");
            out.print("<TH width=100>"+"姓名");
            out.print("<TH width=50>"+"数学成绩");
            out.print("<TH width=50>"+"英语成绩");
            out.print("<TH width=50>"+"物理成绩");
            out.print("</TR>");
       while(rs.next())
           {
             out.print("<TR>");
             out.print("<TD >"+rs.getString(1)+"</TD>"); 
             out.print("<TD >"+rs.getString(2)+"</TD>");
             out.print("<TD >"+rs.getInt("数学成绩")+"</TD>"); 
             out.print("<TD >"+rs.getInt("英语成绩")+"</TD>");
             out.print("<TD >"+rs.getInt("物理成绩")+"</TD>");   
             out.print("</TR>") ;          
            }
       out.print("</Table>");
      con.close();
     }
   catch(SQLException e)
          {}
%>
</BODY>
</HTML>