亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 用 javabean 來實現 mysql 的分頁顯示.txt

?? 一個新的采集工具 一個新的采集工具 一個新的采集工具
?? TXT
字號:
作者:jeru
email: jeru@163.net
日期:2001-1-4 17:13:10
用 javabean 來實現 MySQL 的分頁顯示

●○●○●○●○●○●○●○●○●○●○●○●○●○●○
○  作者:劉湛      日期:2000-02-04      jeru@163.net  ●
●  http://www.cyberlabs.com/~jeru/                   ○
○  歡迎訪問爪哇人,獲取更多資料                      ●
●○●○●○●○●○●○●○●○●○●○●○●○●○●○

今天寫了個 MySQL 分頁的 javabean,是用 MySQL 里的 LIMIT 來實現的.
sql = "SELECT * FROM Test LIMIT 5, 10";
這句話的意思就是從第五條記錄開始往下讀 10 條記錄出來,這個 bean 沒有連接數據庫的功能,
你可以使用自己的類來鏈接數據庫,當然可以用我那個寫的很爛的 dbClass.java 來連,^_^

這里給出三個程序的源代碼。
dbClass.java -- 用來連接 MySQL 數據庫。

PageQuery.java -- 重寫了 dbClass 返回的 ResultSet,使其具備分頁功能。

example.jsp -- jsp 文件,可以看到,我只用了兩行就實現了分頁的功能,當然,
sql 語句是不鼓勵直接寫在 jsp 里的,這里為了讓大家看清楚,所以這么做了。

自知水平不高,只想拋磚引玉,有什么錯漏之處還望高手指出。

=========================== example.jsp ===================================
<%@ page language="java" import="java.sql.*, dbclass.*" %>
<%@ page contentType="text/html; charset=gb2312" %>
<jsp:useBean id="pq" scope="page" class="dbclass.PageQuery" />
<html>

<body bgcolor="#8BA9C9">
<table bgcolor="#fecda9" cellspacing=0>
<% 

String query = "SELECT * FROM systempass";   // 注意這個" FROM "一定要大寫     	
ResultSet rs = pq.myQuery(query, request);
String bar = pq.PageLegend();  //讀取分頁提示欄

out.println("<tr><td colspan=2>"+bar+"</td></tr>");
out.println("<tr><td colspan=2><hr size=1 color=blue></td></tr>");
while (rs.next())  { %> 
<tr><td><%=rs.getString(9)%></td><td><%=rs.getString(10)%></td></tr>
<% } %>
</table>
</body>
</html>

=========================== PageQuery.java ===================================
package dbclass;
/**
 * PageQuery v 1.0 
 * 這個類原名叫 TViewPage ,作者 sharetop ,用 php 寫的。
 * 同事 Macro 曾用 PHP 改寫過這個類,添加了不少功能。
 * 我感覺封裝的很好,使用十分方便,使用 JSP 后,便有了
 * 想法用 JSP 來改寫,這次為了簡明起見,我省去了很多功能,
 * 盡量讓它好讀,以后有空添加更多的功能,
 *
 * Mender : 
 *	 Jeru Liu
 * Homepage : 
 *	 http://www.cyberlabs.com/~jeru/
 * Email: jeru@163.net
 *
 * 本類沒有提供連接數據庫的功能,所以需在外部打開相應的數據庫。 
 * 需在外部自定義數據顯示格式。 
 */

import java.util.*;
import java.sql.*;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class PageQuery  {   
  
  int Offset; // 記錄偏移量 
  int Total; // 記錄總數 
  
  int MaxLine; // 記錄每頁顯示記錄數 
  ResultSet rs; // 讀出的結果 

  int TPages; // 總頁數 
  int CPages; // 當前頁數 

  String PageQuery; // 分頁顯示要傳遞的參數
  String Query;     // query 語句
  String QueryPart; // " FROM " 以后的 query 部分 
  
  String FilePath;
  
  dbClass db;	// object of dbclass
  
  //constructer do nothing
  public PageQuery() {
    // 每頁顯示十行
	MaxLine = 10;	
	db = new dbClass();	
  }  
  
  //********讀取記錄*************** 
  // 主要工作函數,根據所給的條件從表中讀取相應的記錄   

  public ResultSet myQuery(String query, HttpServletRequest req) throws SQLException { 
	
	String query_part, os;
	int begin, offset;
	
	// 截取 " FROM " 以后的 query 語句
	begin = query.indexOf(" FROM ");
	query_part = query.substring(begin, query.length()).trim();	
		
    // 計算偏移量
	os = req.getParameter("offset");
    if (os == null) Offset = 0;
	else Offset = Integer.parseInt(os);
	
	// 獲取文件名
    FilePath = req.getRequestURI(); 
	
	Query = query;
	QueryPart = query_part;	
	
	// 計算總的記錄條數
	String SQL = "SELECT Count(*) AS total " + this.QueryPart; 
    rs = db.executeQuery(SQL);	
	if (rs.next()) 
	Total = rs.getInt(1); 	

	// 設置當前頁數和總頁數
	TPages = (int)Math.ceil((double)this.Total/this.MaxLine); 
    CPages = (int)Math.floor((double)Offset/this.MaxLine+1); 

	// 根據條件判斷,取出所需記錄
	if (Total > 0) { 
	  SQL = Query + " LIMIT " + Offset + " , " + MaxLine; 
	  rs = db.executeQuery(SQL); 	  
	}	
	return rs; 
  }  
 
  // 顯示總頁數
  public int getTotalPages() {	
	return TPages;
  }

  //顯示當前所在頁數
  public int getCurrenPages() {      	
	return CPages;
  } 

  //**********顯示翻頁提示欄*************  
  // 顯示首頁、下頁、上頁、尾頁
  // 你可以改成你喜歡的樣式
  public String PageLegend() {    

	String str = "";	
	int first, next, prev, last;
	first = 0; 
	next = Offset + MaxLine; 
	prev = Offset - MaxLine; 
	last = (this.TPages - 1) * MaxLine; 
		
	if(Offset >= MaxLine) 
	  str +=  " <A href=" + FilePath + "?offset=" + first + ">首頁</A> "; 
	else str += " 首頁 ";
	if(prev >= 0) 
	  str +=  " <A href=" + FilePath + "?offset=" + prev + ">前頁</A> "; 
	else str += " 前頁 ";
	if(next < Total) 
	  str +=  " <A href=" + FilePath + "?offset=" + next + ">后頁</A> "; 
	else str += " 后頁 ";
	if(TPages != 0 && CPages < TPages) 
	  str +=  " <A href=" + FilePath + "?offset=" + last + ">尾頁</A>"; 
	else str += " 尾頁 ";

	str += " 頁次:" + getCurrenPages() + "/" + getTotalPages() + "頁 ";
	str += MaxLine + "條/頁 " + "共" + Total + "條";
	return str;
  }
}

=========================== dbClass.java ===================================
/**
 * a class use to connect the MySQL database and do some query
 * use mm.MySQL.Drive 
 * Jeru Liu ,November 2, 2000 , ver - 1.1
 *
 */

package dbclass;
import java.sql.*;

public class dbClass  {
    
  // public: connection parameters 
  String dbName = "Kernel"; 
  String Login = "root";
  String Password = "MySQL";  
  
  String DBDriver = "org.gjt.mm.MySQL.Driver";
  String ConnStr = "jdbc:MySQL://localhost/"+dbName+"?user="+Login+";password="+Password;    
  Connection con = null;  
  Statement stmt = null;
  ResultSet rs = null;		
  ResultSetMetaData resultsMeta =null;
  int rows = 0;
	
  // public: constructor to load driver and connect db 
  public dbClass()  {   	    
  	  // load mm.MySQL.driver 
	  try  
	  {       
          Class.forName("org.gjt.mm.MySQL.Driver");             
	  }
      // display corresponding error message when onload error occur      
      catch (java.lang.ClassNotFoundException e)  
	  { 
          System.out.println("Class not found exception occur. Message is:"); 
          System.out.println(e.getMessage()); 
      }

      // establish connection to the database throught driver
	  try
      {       
	      con = DriverManager.getConnection(ConnStr);	
      }
      // display sql error message
	  catch (SQLException e)
	  {
	      System.out.print("SQL Exception occur. Message is:"); 
          System.out.print(e.getMessage());     
	  }	
  }   
   
	
  // perform a query with records returned
  public ResultSet executeQuery(String sql)  throws SQLException
  {	 
      
	  ResultSet rs = null;		
      try
      {
          stmt = con.createStatement();
          rs = stmt.executeQuery(sql);	
          while(rs.next())
	          this.rows ++;         
          rs = stmt.executeQuery(sql);
	  }
      catch (SQLException e)
      {
	      System.out.print("Query:"+e.getMessage());
      }    
	  
	  this.rs = rs;
	  return rs;    
  }

  // perform a query without records returned
  public boolean executeUpdate(String sql)  
  {	 
      try
	  {
          stmt = con.createStatement();
          stmt.executeUpdate(sql);							
          return true;    
      }
	  catch(SQLException e)
	  {
	      System.out.print("Update:"+e.getMessage());
          return false;
	  }
  }

  // return the num of columns	
  public int getColumns()
  {
     int columns = 0;
	 try
	 {
	      this.resultsMeta = this.rs.getMetaData();
          columns = this.resultsMeta.getColumnCount();
	 }
	 catch (SQLException e)  {}
	 return columns;
  }

  // return the num of rows
  public int getRows()
  {
     return this.rows;
  }

  public String getDBName() {
      return this.dbName;
  }

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
●精品国产综合乱码久久久久| 日韩欧美一区电影| 国产91在线|亚洲| 欧美一级淫片007| 蜜臀av在线播放一区二区三区| av成人动漫在线观看| 欧美国产精品一区二区三区| 蜜桃视频一区二区三区| 欧美一区二区三区四区视频| 亚洲国产欧美日韩另类综合| 91成人国产精品| 久久视频一区二区| 国产永久精品大片wwwapp| 国产欧美日韩另类视频免费观看| 亚洲一区二区在线免费观看视频| 欧美日韩日日摸| 天涯成人国产亚洲精品一区av| 日韩精品电影在线| 精品福利一二区| 成人国产精品免费观看| 亚洲激情在线播放| 日韩欧美国产精品| 成人精品一区二区三区中文字幕| 亚洲人成小说网站色在线| 在线视频你懂得一区| 久久99精品国产麻豆不卡| 国产精品久久久久久久久久免费看 | 丁香婷婷深情五月亚洲| 精品对白一区国产伦| 91视频.com| 国内不卡的二区三区中文字幕 | 粉嫩在线一区二区三区视频| 欧美r级在线观看| 色香色香欲天天天影视综合网 | 国产三级精品视频| 欧美欧美午夜aⅴ在线观看| k8久久久一区二区三区| 韩国一区二区在线观看| 视频在线观看一区| 亚洲一区二区三区免费视频| 国产精品久久网站| 在线不卡a资源高清| 在线一区二区三区做爰视频网站| 九色|91porny| 亚洲第一福利一区| 久久精品网站免费观看| 久久精品欧美一区二区三区麻豆| 日韩亚洲欧美在线观看| 99re热视频这里只精品| 一本色道亚洲精品aⅴ| 97久久超碰国产精品电影| 国产69精品久久777的优势| 激情综合色播激情啊| 激情综合五月婷婷| 免费一级片91| 成人永久免费视频| 欧美亚洲国产一区二区三区va | 精品国产免费一区二区三区四区| 欧美男人的天堂一二区| 欧美一区二区三区白人| 亚洲精品在线观看网站| 国产精品久久久久久久久快鸭| 国产精品久久久久久久岛一牛影视| 亚洲男人电影天堂| 午夜精品福利一区二区三区av| 亚洲欧美国产77777| 午夜精品福利在线| 91在线小视频| 制服丝袜在线91| 久久久久综合网| 亚洲精品日产精品乱码不卡| 日韩福利视频网| 不卡电影免费在线播放一区| 欧美一区永久视频免费观看| 日韩欧美国产系列| 亚洲网友自拍偷拍| 国产91精品免费| 精品成人在线观看| 亚洲国产精品久久艾草纯爱| 成人免费黄色在线| 国产亚洲精品资源在线26u| 亚洲观看高清完整版在线观看| 国产老妇另类xxxxx| 91精品国产综合久久精品图片| 国产精品国产a| 成人久久18免费网站麻豆| 国产人久久人人人人爽| 国产麻豆精品theporn| 欧美肥妇毛茸茸| 另类小说色综合网站| 日韩色视频在线观看| 免费观看在线综合| 精品国产一区二区在线观看| 国产精品国产成人国产三级| 亚洲国产色一区| 国产精华液一区二区三区| 欧美电影免费观看高清完整版在线观看| 一区二区三区精品| 91最新地址在线播放| 日韩av一区二区在线影视| 久久精品日韩一区二区三区| www.日韩精品| 日韩极品在线观看| 国产日韩欧美综合在线| 欧美绝品在线观看成人午夜影视| 韩国三级中文字幕hd久久精品| 亚洲人快播电影网| 久久免费视频一区| 宅男噜噜噜66一区二区66| 99国产精品久久久久久久久久久| 日日骚欧美日韩| 亚欧色一区w666天堂| 亚洲色图制服丝袜| 久久久精品综合| 精品免费视频.| 精品99999| 精品国产伦一区二区三区观看体验| 欧美日韩精品系列| 色欧美片视频在线观看在线视频| 粉嫩蜜臀av国产精品网站| 久久精品国产精品亚洲红杏| 天天色天天爱天天射综合| 亚洲免费观看高清完整版在线观看| 日韩精品一区二区三区四区视频| 欧美高清性hdvideosex| 欧美日韩三级在线| 欧美午夜片在线看| 欧美图片一区二区三区| 欧美亚洲禁片免费| 69堂精品视频| 2017欧美狠狠色| 国产精品美女久久久久aⅴ| 亚洲欧美色一区| 日本视频在线一区| 国产麻豆成人传媒免费观看| 国产精品一区二区x88av| 国产电影一区在线| 国产成人亚洲综合色影视| 91丨porny丨中文| 91精品国产91久久综合桃花| 日韩精品中文字幕一区二区三区 | 亚洲综合丝袜美腿| 免费在线看一区| av电影在线观看不卡| 欧美一区二区三区四区高清| 国产精品久久久久7777按摩| 加勒比av一区二区| 亚洲男同性视频| 欧美一级高清片| 欧美体内she精视频| 中文字幕免费一区| 17c精品麻豆一区二区免费| 亚洲精选在线视频| 国产福利91精品| 欧美精品欧美精品系列| 国产精品久久久久aaaa樱花| 日韩影院在线观看| 91丨porny丨首页| 夜夜精品浪潮av一区二区三区 | 久久久久久**毛片大全| 婷婷综合另类小说色区| 成人性生交大合| 在线综合+亚洲+欧美中文字幕| 国产精品国产自产拍在线| 麻豆国产精品777777在线| 日韩精品在线看片z| 老司机精品视频线观看86| 欧美日韩国产另类一区| 夜夜嗨av一区二区三区中文字幕 | 欧美综合天天夜夜久久| 亚洲欧美精品午睡沙发| 色av成人天堂桃色av| 亚洲自拍偷拍网站| 日韩欧美123| 成a人片国产精品| 天堂午夜影视日韩欧美一区二区| 欧美高清www午色夜在线视频| 美美哒免费高清在线观看视频一区二区| 欧美大片国产精品| 色域天天综合网| 中文天堂在线一区| 国产一区欧美日韩| 亚洲欧美一区二区三区极速播放 | 久久av资源网| 亚洲美女免费在线| 久久人人97超碰com| 欧美性大战xxxxx久久久| 国产成人av一区| 亚洲女人的天堂| 91精品啪在线观看国产60岁| 国内外成人在线| 亚洲6080在线| 亚洲免费观看高清完整版在线| 欧美精品精品一区| 成人高清视频在线| 国产一区视频网站| 国产一区二区三区蝌蚪| 亚洲国产精品一区二区久久 | 日韩黄色在线观看| 亚洲蜜臀av乱码久久精品|