package SJJava;
import java.sql.*;
import java.util.*;
import SJJava.sqlconn1;
public class aqq {
public int Cint(String cint)
{
try {
int n;
n= Integer.parseInt(cint);
return n;
}
catch (NumberFormatException e)
{
return 0;
}
}
public String getPage(String topage) throws SQLException
{
StringBuffer sb=new StringBuffer();
int PageSize =2; //设置每张网页显示两条记录
int ShowPage = 1; //设置欲显示的页数
int RowCount = 0; //ResultSet的记录数目
int PageCount = 0; //ResultSet分页后的总页数
int duoyu=0;
int j=1;
ResultSet rs;
sqlconn1 db = new sqlconn1();
String sql;
sql="select * from hw where hwtype_id=3 order by hw_id asc";
rs=db.executeQuery(sql);
if(rs.next())
{
//建立ResultSet(结果集)对象,并执行SQL语句
rs.last(); //将指标移至最后一笔记录
RowCount=rs.getRow();
duoyu=RowCount % PageSize;
if(duoyu==0)
{
PageCount=RowCount/PageSize;
}
else{
PageCount=(RowCount-duoyu)/PageSize;
PageCount++;
}
// PageCount=((RowCount % PageSize) == 0?(RowCount/PageSize) : (RowCount/PageSize)+1);
//计算显示的页数
String ToPage = topage;
if(ToPage==""){ToPage="1";}
// 判断是否可正确取得ToPage参数,
// 可取得则表示JSP网页应显示特定分页记录的语句
if(ToPage!=""){
ShowPage =Cint(ToPage); //取得指定显示的分页页数
//下面的if语句将判断用户输入的页数是否正确
if(ShowPage > PageCount)
{ //判断指定页数是否大于总页数, 是则设置显示最后一页
ShowPage = PageCount;
}
else if(ShowPage <= 0)
{ //若指定页数小于0, 则设置显示第一页的记录
ShowPage = 1;
}
}
rs.absolute((ShowPage - 1) * PageSize+1);
// 计算欲显示页的第一笔记录位置
//利用For循环配合PageSize属性输出一页中的记录
int i,news_id,linshi;
i=1;
linshi=1;
linshi=ShowPage;
rs.previous();
String news_title;
while(rs.next()&i<= PageSize)
{
i++;
news_id=rs.getInt("hw_id");
news_title=rs.getString("hw_name");
if(news_title.length()>20)
{
news_title.substring(0,20);
news_title=news_title+"...";
}
sb.append(rs.getString("hw_name")+"<br>");
}
sb.append("第"+ShowPage+"页/共"+PageCount+"页,"+RowCount+"条新闻");
linshi=ShowPage-1;
if(linshi>0)
{
sb.append("<a href='?ToPage="+linshi+"'>上一页</a>");
}else
{
sb.append("上一页");
}
linshi=ShowPage+1;
if(linshi<=PageCount)
{
sb.append("<a href='?ToPage="+linshi+"'>下一页</a>");
}else
{
sb.append("下一页");
}
sb.append("<select name=/"select/" onChange=/"javascript:window.open(this.options[this.selectedIndex].value,'_self')/">");
while(j<=PageCount)
{
sb.append("<option value=/"?ToPage="+j+"/" ");
if (ShowPage==j)
{
sb.append("selected");
}
sb.append(">"+j+"页</option>");
j++;
}
sb.append("</select>");
}
return sb.toString();
}
}
=====================sqlconn1.java的代码如下:===========================================
package SJJava;
import java.sql.*;
public class sqlconn1 {
String DBdriver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
String Connstr = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=jspshop";
Connection conn = null;
ResultSet rs = null;
String user = "sa";
String password = "aqq";
public sqlconn1() {
try {
Class.forName(DBdriver);
} catch (java.lang.ClassNotFoundException e) {
System.err.println("conn(): " + e.getMessage());
}
}
public void executeInsert(String sql) {
try {
conn = DriverManager.getConnection(Connstr, user, password);
Statement stmt = conn.createStatement();
int n = stmt.executeUpdate(sql);
} catch (SQLException ex) {
System.err.println("conn.executeUpdate:" + ex.getMessage());
}
}
public ResultSet executeQuery(String sql) {
rs = null;
try {
conn = DriverManager.getConnection(Connstr, user, password);
Statement stmt;
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE);
rs = stmt.executeQuery(sql);
} catch (SQLException ex) {
System.err.println("aq.executeQuery: " + ex.getMessage());
}
return rs;
}
public void executeDelete(String sql) {
try {
conn = DriverManager.getConnection(Connstr, user, password);
Statement stmt = conn.createStatement();
stmt.executeUpdate(sql);
} catch (SQLException ex) {
System.err.println("conn.executeDelete: " + ex.getMessage());
}
}
public int executeUpdate(String sql) {
int n = 0;
try {
conn = DriverManager.getConnection(Connstr, user, password);
Statement stmt = conn.createStatement();
n = stmt.executeUpdate(sql);
} catch (SQLException ex) {
System.err.println("conn.executeDelete: " + ex.getMessage());
}
return n;
}
public void Close() {
try {
if (rs != null) {
rs.close();
}
if (conn != null) {
conn.close();
}
} catch (SQLException ex) {
System.err.println("conn.executeDelete: " + ex.getMessage());
}
}
}