⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄

📁 清华版的jsp基础程序 对新手很有用
💻
📖 第 1 页 / 共 3 页
字号:
第5章 JSP中使用数据库

例子1(效果如图5.12所示)
Example5_1.jsp:
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="java.sql.*" %>
<HTML>
<BODY>
 <% Connection con;
    Statement sql; 
    ResultSet rs;
    try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
       }
    catch(ClassNotFoundException e){}
    try {  con=DriverManager.getConnection("jdbc:odbc:sun","sa","");
         sql=con.createStatement();
         rs=sql.executeQuery("SELECT * FROM students");
         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 e1) {}
 %>
</BODY>
</HTML>

例子2(效果如图5.13所示)
Example5_2.jsp:
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="java.sql.*" %>
<HTML>
<BODY>
 <% Connection con;
    Statement sql; 
    ResultSet rs;
    try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
       }
    catch(ClassNotFoundException e){}
    try { con=DriverManager.getConnection("jdbc:odbc:sun","sa","");
         sql=con.createStatement();
         rs=sql.executeQuery("SELECT * FROM students WHERE 英语成绩 >= 80 ");
         out.print("<Table Border>");
         out.print("<TR>");
            out.print("<TH width=100>"+"姓名");
            out.print("<TH width=50>"+"英语成绩");
         out.print("</TR>");
       while(rs.next())
       { out.print("<TR>");
             out.print("<TD >"+rs.getString(2)+"</TD>");
             out.print("<TD >"+rs.getInt("英语成绩")+"</TD>");
         out.print("</TR>") ; 
        }
        out.print("</Table>");
        con.close();
     }
   catch(SQLException e1) {}
 %>
</BODY>
</HTML>

例子3(效果如图5.14所示)
Example5_3.jsp:
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="java.sql.*" %>
<HTML>
<BODY>
 <% String name,number;
    int math,physics,english;
    Connection con;
    Statement sql; 
    ResultSet rs;
    try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
       }
    catch(ClassNotFoundException e){}
    try{ con=DriverManager.getConnection("jdbc:odbc:sun","sa","");
         sql=
con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
        //返回可滚动的结果集:
         rs=sql.executeQuery("SELECT * FROM students");
        //将游标移动到最后一行:
            rs.last();
        //获取最后一行的行号:
          int lownumber=rs.getRow();
         out.print("该表共有"+lownumber+"条记录");
         out.print("<BR>现在逆序输出记录:");
         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>");
       //为了逆序输出记录,需将游标移动到最后一行之后:
        rs.afterLast();
        while(rs.previous())
        { out.print("<TR>");
             number=rs.getString(1); 
             out.print("<TD >"+number+"</TD>"); 
             name=rs.getString(2); 
             out.print("<TD >"+name+"</TD>");
             math=rs.getInt("数学成绩"); 
             out.print("<TD >"+math+"</TD>"); 
             english=rs.getInt("英语成绩"); 
             out.print("<TD >"+english+"</TD>");
             physics=rs.getInt("物理成绩"); 
             out.print("<TD >"+physics+"</TD>");   
         out.print("</TR>") ;          
         }
       out.print("</Table>");
       out.print("单独输出第5条记录<BR>");
        rs.absolute(5);
             number=rs.getString(1); 
             out.print(number+","); 
             name=rs.getString(2); 
             out.print(name+",");
             math=rs.getInt("数学成绩"); 
             out.print(math+","); 
             english=rs.getInt("英语成绩"); 
             out.print(english+",");
             physics=rs.getInt("物理成绩"); 
             out.print(physics+"。"); 
        con.close();
     }
   catch(SQLException e1) {}
 %>
</BODY>
</HTML>

例子4(效果如图5.15所示)
Example5_4.jsp:
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="java.sql.*" %>
<HTML>
<BODY>
 <% String xuehao,name;
    int math;
    Connection con;
    Statement sql; 
    ResultSet rs;
    try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
       }
    catch(ClassNotFoundException e){}
    try { con=DriverManager.getConnection("jdbc:odbc:sun","sa","");
         sql=
con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
        //返回可滚动的结果集:
         rs=sql.executeQuery("SELECT * FROM students");
         out.print("<Table Border>");
         out.print("<TR>");
             out.print("<TH width=100>"+"学号");
             out.print("<TH width=100>"+"姓名");
             out.print("<TH width=50>"+"数学成绩");
         out.print("</TR>");
        //将游标移动到最后一行:
            rs.last();
        //获取最后一行的行号:
          int lownumber=rs.getRow();
        //获取记录数:
        int number=lownumber;
        double sum=0;
        int 抽取数目=4;
        int old_i[]={0,0,0,0}; 
        int k=抽取数目;
        int j=0;
           while(抽取数目>0)
                {int i=(int)(Math.random()*number+1);//随机获取一个1到number之间的数。
                 boolean boo=false;
                 for(int m=0;m<old_i.length;m++)   //查找该行是否已被取出。
                      {if(i==old_i[m])
                       boo=true;
                      }
                 if(boo)  continue;   //假如该行已被取出,结束本次循环,继续产生随机数。 
                 rs.absolute(i);                   //游标移到这一行。
                 out.print("<TR>");
                 xuehao=rs.getString(1);              //获取该行学号字段的值。
                 out.print("<TD >"+xuehao+"</TD>");
                 name=rs.getString(2);              //获取该行姓名字段的值。
                 out.print("<TD >"+name+"</TD>");
                 math=rs.getInt("数学成绩");        //获取改行数学成绩字段的值。
                 out.print("<TD >"+math+"</TD>"); 
                 out.print("</TR>") ;
                 sum=sum+math; 
                 抽取数目--; 
                 old_i[j]=i;        //记录已取出的行号。
                 j++;      
                }
         out.print("</Table>");
         out.print("平均成绩是:"+sum/k);
         con.close();
     }
   catch(SQLException e1) {}
 %>
</BODY>
</HTML>

例子5(效果如图5.16、5.17、5.18所示)
Example5_5.jsp:
<%@ 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>

bynename.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");

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -