中国高校课件下载中心 》 教学资源 》 大学文库

内蒙古科技大学:《JSP编程》课程教学资源(实验指导)实验十 分页显示记录

文档信息
资源类别:文库
文档格式:DOC
文档页数:6
文件大小:52KB
团购合买:点击进入团购
内容简介
内蒙古科技大学:《JSP编程》课程教学资源(实验指导)实验十 分页显示记录
刷新页面文档预览

实验10分页显示记录 一、实验目的 1了解数据库,以及不同数据库的风别」 2.熟练用JDBC.ODBC桥来访问数据库,能灵活使用各种SQL来进行数据库的操作 3.掌握JSP与数据库的连接技术- JDBC,掌握JSP数据库编程技术。 二、实验要求 1.上机调试运行课上所讲JSP页面。 2.分页显示查询结果。 三、实验内容 (一)上课例子 ·将一个简单的JSP页面中的java程序片代码负责连接到数据源mymoon,.查询 employee表中salary字段值大于3000的全部记录。源代码如下 ShowByJdbcOdbc.isp Connection con Statement sql; ResultSet rs. try Class.forName("sun.jdbe.odbe.JdbcOdbeDriver"); out.print(e); try {con=DriverManager.getConnection("jdbc:odbe:mymoon","sa","sa"); sql-con.createStatement(: out.print("table border-2>) outprint(""); outprint(""+"雇员号"方 out print(""+"姓名", outprint("+"出生日期")

实验 10 分页显示记录 一、实验目的 1. 了解数据库,以及不同数据库的区别。 2. 熟练用 JDBC-ODBC 桥来访问数据库 , 能灵活使用各种 SQL 来进行数据库的操作 。 3. 掌握 JSP 与数据库的连接技术——JDBC,掌握 JSP 数据库编程技术 。 二、实验要求 1.上机调试运行课上所讲 JSP 页面。 2.分页显示查询结果。 三、实验内容 (一) 上课例子  将一个简单的 JSP 页面中的 java 程序片代码负责连接到数据源 mymoon,查询 employee 表中 salary 字段值大于 3000 的全部记录。源代码如下。 ShowByJdbcOdbc.jsp 3000"); out.print(""); out.print(""); out.print(""+"雇员号"); out.print(""+"姓名"); out.print(""+"出生日期");

out print"+"薪水") out.print(""); out.print(""+rs.getString(1)+"): out.print(""+rs.getString(2)+"): outprint("td+rs getDate("birthday"+""+rs getFloat("salary")) out.print(""): outprint(""): con.close( catch(SQLException e) out print(e): o/> /BODY></HTML 编译并运行该程序,如有错误请改正 (二)分页显示记录 ·创建bean的源文件ShowRecordByPage,java package database.operation import java.sql.* import com.sun rowset. publie class ShowRe cordByPage int pageSize=10: ∥每页显示的记录数 int pageAllCount=0 ∥分页后的总页数 int showPage=1 川当前是示页 StringBuffer presentPageResult ∥品示当前页内容 CachedRowSetlmpl rowSet String data seName- String tableName=""; 表的名宁 String user=" ∥用广 String password="" ∥密码 g字段=new String[100] 字个数。 public ShowRecordByPage( {presentPageResult=new StringBuffer() try Class.forName("com.micr osoft.sqlserver.jdbc.SQLServerDriver")newInstance(). catch(Exception e)

out.print(""+"薪水"); out.print(""); while(rs.next()) { out.print(""); out.print(""+rs.getString(1)+""); out.print(""+rs.getString(2)+""); out.print(""+rs.getDate("birthday")+""); out.print(""+rs.getFloat("salary")+""); out.print("") ; } out.print(""); con.close(); } catch(SQLException e) { out.print(e); } %>  编译并运行该程序,如有错误请改正。 (二)分页显示记录  创建 bean 的源文件 ShowRecordByPage.java: package database.operation; import java.sql.*; import com.sun.rowset.*; public class ShowRecordByPage { int pageSize=10; //每页显示的记录数 int pageAllCount=0; //分页后的总页数 int showPage=1 ; //当前显示页 StringBuffer presentPageResult; //显示当前页内容 CachedRowSetImpl rowSet; //用于存储 ResultSet 对象 String databaseName=""; //数据库名称 String tableName=""; //表的名字 String user="" ; //用户 String password="" ; //密码 String 字段[]=new String[100] ; int 字段个数=0; public ShowRecordByPage() { presentPageResult=new StringBuffer(); try{ Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance(); } catch(Exception e){}

pageSiz 字段个数-0 String uri="idbc:sglserver://127.0.0.1:1433:DatabaseName="+databaseName try Connection con=DriverManager.getConnection(uri,user.password): DatabasemetaData metadataz on.getMetaData(). rs1-metadata.getColumns(null.null.tableName.null) int k=0 while(rs1.next()) {字段个数+ 字段k]sl.getString(4):∥/获取字段的名字 Statement sql=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE ResultSet conCUr reAd ONLY ResultSet rs=sql.executeQuery("SELECT*FROM"+tableName): owSe populaters) con.close(). ∥关闭连接 rowSet.last(): int m=rowSet getRow(): ∥总行数 nt=(m%n=0)2(m/n):m/+1)月 catch(Exception exp) public int getPageSize() return pageSize public int getPageAllCount() return pageAllCount: public void setShowPage(int n) showPage=n public int getShowPage() return showPage: public StringBuffer getPresentPageResult( if(showPage>pageAllCount) showPage=1: if(showPage<=0) showPage=pageAllCount

} public void setPageSize(int size) { pageSize=size; 字段个数=0; String uri="jdbc:sqlserver://127.0.0.1:1433;DatabaseName="+databaseName; try{ Connection con=DriverManager.getConnection(uri,user,password); DatabaseMetaData metadata=con.getMetaData(); ResultSet rs1=metadata.getColumns(null,null,tableName,null); int k=0; while(rs1.next()) { 字段个数++; 字段[k]=rs1.getString(4); //获取字段的名字 k++; } Statement sql=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY); ResultSet rs=sql.executeQuery("SELECT * FROM "+tableName); rowSet=new CachedRowSetImpl(); //创建行集对象 rowSet.populate(rs); con.close(); //关闭连接 rowSet.last(); int m=rowSet.getRow(); //总行数 int n=pageSize; pageAllCount=((m%n)==0)?(m/n):(m/n+1); } catch(Exception exp){} } public int getPageSize() { return pageSize; } public int getPageAllCount() { return pageAllCount; } public void setShowPage(int n) { showPage=n; } public int getShowPage() { return showPage; } public StringBuffer getPresentPageResult() { if(showPage>pageAllCount) showPage=1; if(showPage<=0) showPage=pageAllCount;

presentPageResult-show(showPage) return presentPageResult. public StringBuffer show(int page) {StringBuffer str=new StringBuffer(). str.append(""): sr.append( for(inti=0,i"+字段[+""方 str.append(""): try{ rowSetabsolute((page-1)"pageSize+1). for(int for(intk=1k"+rowSet.getString(k)+""); rowset.next()月 catch(SQLException exp) public void setDatabaseName(String s) databaseName=s trim(): public String getDatabaseName( return databaseName. public void setTableName(String s) tableName=s.trim(). public String getTableName( {return tableName; public void setPassword(String s) password=s.trim(): public void setUser(Strings) user=s.trim(); public String getUser()

presentPageResult=show(showPage); return presentPageResult; } public StringBuffer show(int page) { StringBuffer str=new StringBuffer(); str.append(""); str.append(""); for(int i=0;i"+字段[i]+""); } str.append(""); try{ rowSet.absolute((page-1)*pageSize+1); for(int i=1;i"); for(int k=1;k"+rowSet.getString(k)+""); } str.append(""); rowSet.next(); } } catch(SQLException exp){} str.append(""); return str; } public void setDatabaseName(String s) { databaseName=s.trim(); } public String getDatabaseName() { return databaseName; } public void setTableName(String s) { tableName=s.trim(); } public String getTableName() { return tableName; } public void setPassword(String s) { password=s.trim();; } public void setUser(String s) { user=s.trim(); } public String getUser()

return user: ◆JSP页面 showByPage.jsp %@page contentType="text/html;charset=GB2312"%> %@page import="javasql.%> tabaseoperation.ShowRecordByPage"scope="session" 表的记录将被分页显示。 Sp. 每页最多显示jsp:getProperty name=-look'property='pageSize'>条记录e name="look"property="showPage"P页 一页”按纽查看记录 > aecShouPaed)pide 输入页码:nputype-text-5> 输入页f码:

{ return user; } }  JSP 页面 showByPage.jsp 数据库 中 表的记录将被分页显示。 共有 页. 每页最多显示条记录。 当前显示第 页, 单击“前一页”或“下一页”按纽查看记录 " > " > 输入页码: 输入页码:

已到末页,全文结束
刷新页面下载完整文档
VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
相关文档