JAVA/JSP學習系列之五(JDBC-ODBC翻頁例子)

來源:互聯網
上載者:User
js|odbc|翻頁 一、運行前準備

   建議了一個MS SQLServer7資料庫 DNS,名稱為:Test_DB

   資料庫中有一個表:guestbook欄位為:name(varchar),email(varchar),body(text)

   資料庫使用者為sa 密碼空,可以自己修改的。

二、代碼

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

<%

//變數聲明

java.sql.Connection sqlCon; //資料庫連接對象

java.sql.Statement sqlStmt; //SQL語句對象

java.sql.ResultSet sqlRst; //結果集對象

java.lang.String strCon; //資料庫連接字串

java.lang.String strSQL; //SQL語句

int intPageSize; //一頁顯示的記錄數

int intRowCount; //記錄總數

int intPageCount; //總頁數

int intPage; //待顯示頁碼

java.lang.String strPage;

int i,j,k; //設定一頁顯示的記錄數

intPageSize = 5; //取得待顯示頁碼

strPage = request.getParameter("page");

if(strPage==null){

//表明在QueryString中沒有page這一個參數,此時顯示第一頁資料

intPage = 1;

} else{

//將字串轉換成整型

intPage = java.lang.Integer.parseInt(strPage);

if(intPage<1) intPage = 1; }

//裝載JDBC-ODBC驅動程式

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

//設定資料庫連接字串

strCon = "jdbc:odbc:Test_DB";

//串連資料庫

sqlCon = java.sql.DriverManager.getConnection(strCon,"sa","");

//建立SQL語句對象

sqlStmt = sqlCon.createStatement();

//擷取記錄總數

strSQL = "select count(*) from guestbook";

sqlRst = sqlStmt.executeQuery(strSQL);

//執行SQL語句並取得結果集

sqlRst.next(); //記錄集剛開啟的時候,指標位於第一條記錄之前

intRowCount = sqlRst.getInt(1);

sqlRst.close(); //關閉結果集

//記算總頁數

intPageCount = (intRowCount+intPageSize-1) / intPageSize;

//調整待顯示的頁碼 if(intPage>intPageCount) intPage = intPageCount;

//設定擷取資料SQL語句

strSQL = "select name,email,body from guestbook";

//執行SQL語句並取得結果集

sqlRst = sqlStmt.executeQuery(strSQL);

//將記錄指標定位到待顯示頁的第一條記錄上

i = (intPage-1) * intPageSize;

for(j=0;j<i;j++) sqlRst.next(); %>

<html>

<head>

<title>JSP資料庫操作常式 - 資料分頁顯示 - JDBC-ODBC</title>

</head>

<body>

<p align=center>jdbc-odbc留言版</p>

<table border="1" cellspacing="0" cellpadding="0" width=600 align=center>

<%

//顯示資料

i = 0;

while(i<intPageSize && sqlRst.next()){ %>

<tr>

<td>姓名:<%=sqlRst.getString(1)%></td>

<td>郵件:<%=sqlRst.getString(2)%></td>

</tr>

<tr>

<td colspan=2><%=sqlRst.getString(3)%></td>

</tr>

<% i++; } %>

<tr>

<td colspan=2 align=center>

第<%=intPage%>頁 共<%=intPageCount%>頁

<%if(intPage<intPageCount){%>

<a href="mssql.jsp?page=<%=intPage+1%>">下一頁</a><%

}

%>

<%if(intPage>1){%>

<a href="mssql.jsp?page=<%=intPage-1%>">上一頁</a><%

}

%>

</td>

</tr>

</table> </body>

</html>

<%

//關閉結果集

sqlRst.close();

//關閉SQL語句對象

sqlStmt.close();

//關閉資料庫

sqlCon.close();

%>

三、怎麼去運行?

   將代碼存為檔案test.jsp

Orion Application Server下:

Copy到orion的default-web-app目錄下,通過:

http://localhost:port/test.jsp

訪問測試

對於Resin,Tomcat,JWS等等,都可以運行通過。


相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.