欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

JAVA/JSP学习系列之五(JDBC-ODBC翻页例子)

程序员文章站 2024-02-26 12:02:22
一、运行前准备    建议了一个ms sqlserver7数据库 dns,名称为:test_db    数据库中有一个表:guestbook字段为:name(varchar...
一、运行前准备

   建议了一个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等等,都可以运行通过。