计算机毕业课程源码设计案例-080Java调用Oracle存储过程实现分页功能
***********************************************************
我的信息:
姓名: 汪建林 程序设计大神
毕业学校: 2007年于成都理工大学
联系QQ: 344245001
***********************************************************
--java调用jdbc:oracle链接Oracle数据库存储过程实现分页 功能
--建立一个包
create or replace package testpackage as
type test_cursor is ref cursor;
end testpackage;
--建立一个分页的存储过程
create or replace procedure fenye
(tableName in varchar2,
Pagesize in number, --一页显示记录数
pageNow in number, --当前显示第几页
myrows out number, --总记录数
myPageCount out number, --总页数
p_cursor out testpackage.test_cursor --游标
) is
--定义部分
v_sql varchar2(1000);
v_begin number:= (pageNow-1)*Pagesize+1;
v_end number := pageNow * Pagesize;
begin
--执行部分
v_sql := 'select * from (select t1.*,rownum rn from (select * from '||tableName||') t1 where rownum<='||v_end||') where rn>='||v_begin;
--把游标和sql关联
open p_cursor for v_sql;
--计算机myrows和myPageCount
--组织一个sql
v_sql := 'select count(*) from '|| tableName;
--执行sql,把返回值赋值给myrows;
execute immediate v_sql into myrows;
--计算myPageCount
if mod(myrows,Pagesize) =0 then
myPageCount:= myrows /pageSize;
else
myPageCount:= myrows/pageSize+1;
end if;
--关闭游标
-- close p_cursor
end;
百度网盘下载链接: http://pan.baidu.com/s/1bolvxRT 密码: 26ze
file://C:\Users\Administrator\Desktop\TestOracle (4 folders, 2 files, 740 bytes, 2.06 MB in total.)
│ .classpath 354 bytes
│ .project 386 bytes
├─.settings (0 folders, 1 files, 629 bytes, 629 bytes in total.)
│ org.eclipse.jdt.core.prefs 629 bytes
├─bin (0 folders, 1 files, 2.16 KB, 2.16 KB in total.)
│ TestMyOracle.class 2.16 KB
├─lib (0 folders, 1 files, 2.05 MB, 2.05 MB in total.)
│ ojdbc6.jar 2.05 MB
└─src (0 folders, 1 files, 2.44 KB, 2.44 KB in total.)
TestMyOracle.java 2.44 KB