新手入門-JSP(六)

這章是接着前面的,作爲補充數據庫操作的例子呵呵供大家參考。

4)分頁顯示記錄

        showByPage.jsp

<%@ page contentType="text/html;charset=GB2312" %>

<%@ page import="java.sql.*" %>

<HTML>

<BODY>

 <%! int pageSize=3; //每頁顯示的記錄數。

     int pageCount=0; //分頁後的總頁數。

 %>

<%-- 客戶通過表單提交欲要顯示的頁碼數--%>

<FORM action="" method=get >

 輸入頁碼數<Input Type=text name=showPage size=4 >

   <Input Type=submit name=g value=提交>

 </FORM>

<%  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 lastRow=rs.getRow();

        //計算分頁後的總頁數:

        pageCount=(lastRow%pageSize==0)?(lastRow/pageSize):(lastRow/pageSize+1);

        //當前顯示的初始頁數:

        int showPage=1;

        //告知客戶總頁數:

      %>

        <P> 共有<%=pageCount%>

        <BR>每頁顯示<%=pageSize%>條記錄.

      <% //獲取客戶想要顯示的頁數:

          String integer=request.getParameter("showPage");

               if(integer==null)

                  { integer="1";

                  }

           try {showPage=Integer.parseInt(integer); 

               }

           catch(NumberFormatException e)

               {showPage=1;

               }

          if(showPage<=1)

             {showPage=1;

             }

          if(showPage>=pageCount)

             {showPage=pageCount;

             }

      %>

        <BR>目前顯示第<%=showPage%> 

      <% //如果要顯示第showPage頁,那麼遊標應移到posion的值是:

         int posion=(showPage-1)*pageSize+1;

          rs.absolute(posion); // 設置遊標的位置

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

       for (int i=1;i<=pageSize;i++)

        { 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>") ;

          rs.next(); 

         }

       out.print("</Table>");

      con.close();

     }

   catch(SQLException e1) {}

 %>

</BODY>

</HTML>

 

(5) 連接Oracle數據庫的例子


<%@ page contentType="text/html;charset=GB2312" %>

<%@ page import="java.sql.*" %>

<HTML>

<BODY>

 <% Connection con=null;

    Statement sql=null;

    ResultSet rs=null;

    try{Class.forName("oracle.jdbc.driver.OracleDriver");

       }

    catch(ClassNotFoundException e){}

    try

      {  con=

DriverManager.getConnection("jdbc:oracle:thin:@192.168.0.35:1521:Lea","scott","tiger");

         sql=con.createStatement();

         rs=sql.executeQuery("select * from emp");

         out.print("<Table Border>");

         out.print("<TR>");

            out.print("<TH width=100>"+"EMPNO");

            out.print("<TH width=50>"+"Ename");

         out.print("</TR>");

       while(rs.next())

       { out.print("<TR>");

             int n=rs.getInt(1);

             out.print("<TD >"+n+"</TD>");

            String e=rs.getString(2);

             out.print("<TD >"+e+"</TD>");

         out.print("</TR>") ; 

        }

        out.print("</Table>");

        con.close();

     }

   catch(SQLException e1) {out.print(""+e1);}

 %>

</BODY>

</HTML>

 

(6)查詢電子表格Excel的例子

<%@ 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:star","","");

         sql=con.createStatement();

         rs=sql.executeQuery("SELECT * FROM 品名 ");

         out.print("<Table Border>");

         out.print("<TR>");

            out.print("<TH width=100>"+"品名");

            out.print("<TH width=50>"+"單位");

            out.print("<TH width=50>"+"單價");

         out.print("</TR>");

       while(rs.next())

       { out.print("<TR>");

            String name=rs.getString(1);

             out.print("<TD >"+name+"</TD>");

            String  unit=rs.getString(2);

             out.print("<TD >"+unit+"</TD>");

            String  unitprice=rs.getString(3);

            out.print("<TD >"+unitprice+"</TD>");

         out.print("</TR>") ;         

        }

        out.print("</Table>");

        con.close();

     }

   catch(SQLException e1) {}

 %>

</BODY>

</HTML>

 

(7)使用同步連接

<%@ page contentType="text/html;charset=GB2312" %>

<%@ page import="java.sql.*" %>

<HTML>

<BODY>

 <%! //聲明一個共享的連接對象:

    Connection con=null;

  %>

 <% Statement sql=null;

    ResultSet rs=null;

    //第一個客戶負責建立連接對象:

    if(con==null)

      { try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

           }

           catch(ClassNotFoundException e)

           {out.print(e);

           }

        try {con=DriverManager.getConnection("jdbc:odbc:moon","sa","");

           sql=con.createStatement();

           rs =sql.executeQuery("SELECT * FROM students");

           out.print("i am  first");

          }

        catch(SQLException e)

          {out.print(e);

          }

      }

     //其它客戶通過同步塊使用這個連接:

     else

      { synchronized(con)

        {  try { sql=con.createStatement();

               rs =sql.executeQuery("SELECT * FROM students");

               out.print("i am not first");

               }

          catch(SQLException e)

               {out.print(e);

               }

        }

      }

    try

      {  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>");

           String  number=rs.getString(1);

             out.print("<TD >"+number+"</TD>");

           String  name=rs.getString(2);

             out.print("<TD >"+name+"</TD>");

           int  math=rs.getInt("數學成績");

             out.print("<TD >"+math+"</TD>");

           int  english=rs.getInt("英語成績");

             out.print("<TD >"+english+"</TD>");

           int  physics=rs.getInt("物理成績");

             out.print("<TD >"+physics+"</TD>");  

        out.print("</TR>") ;         

        }

      out.print("</Table>");

    }

   catch(SQLException e1) {}

 %>

</BODY>

</HTML>

 


 

呵呵,上面舉的例子都是具有代表性的例子。

在文章最後還要聲明一下:本篇文章是參考JSP實用教程寫的,再次提出感謝,另外該書不錯,本人看了,推薦JSP初學者可以買一本看看,獲益非淺的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章