Sybase数据库存储过程我们经常会用到,下面就为您介绍Jsp调用Sybase数据库存储过程返回记录集的方法,希望对您学习使用Sybase数据库存储过程方面能有所帮助。
在惠城等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都网站建设、网站制作 网站设计制作专业公司,公司网站建设,企业网站建设,成都品牌网站建设,营销型网站建设,成都外贸网站建设,惠城网站建设费用合理。
源代码如下:
- <%@page contentType="text/html;charset=GB2312"%>
- <%@page import="javax.naming.*"%>
- <%@page import="javax.sql.*"%>
- <%@page import="java.sql.*"%>
- <%
- int n = 20;
- Connection conn = null;
- CallableStatement stmt = null;
- ResultSet rs = null;
- Context ctx = null;
- try {
- ctx = new InitialContext();
- //获取连接池对象
- DataSource ds = (DataSource) ctx.lookup("JNDITEST_150");//JNDITEST_150是weblogic数据源的名字
- //String strSql_p="GetDataByPage @SqlStr=\"select * from bzlist\", @PageSize=20, @CurrentPage=1";
- String sproc="{?=call GetDataByPage(?,?,?)}";
- conn = ds.getConnection();
- stmt=conn.prepareCall(sproc);
- stmt.setString(2,"select * from bzlist");
- stmt.setInt(3,20);
- stmt.setInt(4,1);
- rs=stmt.executeQuery();
- out.print("
");
"); 分类号 标准编号 标准名称 文件路径 - while(rs.next()){
- out.print("
"); " + rs.getString("flh") + " ");- out.print("
" + rs.getString("bzbh") + " ");- out.print("
" + rs.getString("bzmc") + " ");- out.print("
" + rs.getString("path") + rs.getString("filenames") + rs.getString("ext") + " - }
- out.print("
- rs.close();
- stmt.close();
- conn.close();
- }
- catch (Exception e) {
- System.out.println("错误如下:
" + e);- e.printStackTrace();
- }
- %>
-----------------------------------------------------存储过程如下:
- CREATE PROCEDURE GetDataByPage
- (
- --创建一个分页读取过程
- @SqlStr varchar(8000), --SQL语句
- @PageSize int, --每页记录数
- @CurrentPage int --当前页数
- )
- AS
- DECLARE @FirstRec int, @LastRec int, @dt varchar(10) --页起始行,页结束行,生成临时表的随机数
- BEGIN
- SELECT @FirstRec = (@CurrentPage - 1) * @PageSize --计算页起始行
- SELECT @LastRec = (@CurrentPage * @PageSize + 1) --计算页结束行
- SELECT @dt= substring(convert(varchar,rand()),3,10) --一个字符型的随机数
--将搜索结果放入临时表中,表名随机生成,在' FROM '前插入'INTO '+随机临时表名
- SELECT @SqlStr = stuff(@SqlStr, charindex(' FROM ',upper(@SqlStr)), 6 ,' INTO tempdb..Paging'+@dt+' FROM ')
- EXECUTE (@SqlStr)
--为临时表增加id号
- SELECT @SqlStr = 'ALTER TABLE tempdb..Paging'+@dt+' ADD TEMPDB_ID numeric(10) IDENTITY PRIMARY KEY'
- EXECUTE (@SqlStr)
--计算临时表中的记录数
- --SELECT @SqlStr = 'SELECT Count(*) From tempdb..Paging'+@dt
- --EXECUTE (@SqlStr)
--选取记录号在起始行和结束行中间的记录
- SELECT @SqlStr = 'SELECT * FROM tempdb..Paging'+@dt+' WHERE TEMPDB_ID > '+convert(varchar,@FirstRec)+' and TEMPDB_ID < '+convert(varchar,@LastRec)
- EXECUTE (@SqlStr)
--删除临时表
- SELECT @SqlStr = 'DROP TABLE tempdb..Paging'+@dt
- EXECUTE (@SqlStr)
- END
----------------------------------------------------另外写了个取记录数的存储过程:
- CREATE PROCEDURE xdztest.GetDataCount
- (
- @SqlStr varchar(8000)
- )
- AS
- BEGIN
- EXECUTE (@SqlStr)
- END
【编辑推荐】
sybase分页存储过程的实现
活用Sybase超级用户密码
Sybase数据灾难方案浅析
Sybase数据库引擎运行方法简介
Oracle数据库如何正确访问SYBASE数据
当前标题:Jsp调用Sybase数据库存储过程返回记录集
标题URL:http://www.mswzjz.com/qtweb/news38/171988.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联