成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Jsp調用Sybase數據庫存儲過程返回記錄集

數據庫
在Jsp開發時,經常會用到調用Sybase數據庫存儲過程返回記錄集,下文就為您舉例說明該功能的實現方法,供您參考借鑒。

Sybase數據庫存儲過程我們經常會用到,下面就為您介紹Jsp調用Sybase數據庫存儲過程返回記錄集的方法,希望對您學習使用Sybase數據庫存儲過程方面能有所幫助。

源代碼如下:

  1. <%@page contentType="text/html;charset=GB2312"%> 
  2. <%@page import="javax.naming.*"%> 
  3. <%@page import="javax.sql.*"%> 
  4. <%@page import="java.sql.*"%> 
  5. <%  
  6.    int n = 20;  
  7.    Connection conn = null;  
  8.    CallableStatement stmt = null;  
  9.    ResultSet rs = null;  
  10.    Context ctx = null;  
  11.    try {  
  12.      ctx = new InitialContext();  
  13.    //獲取連接池對象  
  14.      DataSource ds = (DataSource) ctx.lookup("JNDITEST_150");//JNDITEST_150是weblogic數據源的名字  
  15.    //String strSql_p="GetDataByPage @SqlStr=\"select * from bzlist\", @PageSize=20, @CurrentPage=1";  
  16.    String sproc="{?=call GetDataByPage(?,?,?)}";  
  17.      conn = ds.getConnection();  
  18.      stmt=conn.prepareCall(sproc);  
  19.      stmt.setString(2,"select * from bzlist");  
  20.      stmt.setInt(3,20);  
  21.      stmt.setInt(4,1);   
  22.      rs=stmt.executeQuery();   
  23.       out.print("<Table border=1><tr><th>分類號<th>標準編號<th>標準名稱<th>文件路徑</tr>");  
  24.        while(rs.next()){  
  25.          out.print("<tr><td>" + rs.getString("flh") + "</td>");  
  26.          out.print("<td>" + rs.getString("bzbh") + "</td>");  
  27.          out.print("<td>" + rs.getString("bzmc") + "</td>");  
  28.          out.print("<td>" + rs.getString("path") + rs.getString("filenames") + rs.getString("ext") + "</td></tr>");  
  29.        }  
  30.      out.print("</table>");  
  31.      rs.close();  
  32.      stmt.close();  
  33.      conn.close();  
  34.    }  
  35.    catch (Exception e) {  
  36.      System.out.println("錯誤如下:<br>" + e);  
  37.      e.printStackTrace();  
  38.    }  
  39. %> 
  40.  

-----------------------------------------------------存儲過程如下:

  1. CREATE PROCEDURE GetDataByPage   
  2. (   
  3.      --創建一個分頁讀取過程   
  4. @SqlStr          varchar(8000), --SQL語句   
  5. @PageSize        int,    --每頁記錄數   
  6. @CurrentPage     int     --當前頁數   
  7. )   
  8. AS   
  9. DECLARE @FirstRec int, @LastRec int, @dt varchar(10) --頁起始行,頁結束行,生成臨時表的隨機數   
  10. BEGIN   
  11.  
  12. SELECT @FirstRec = (@CurrentPage - 1) * @PageSize --計算頁起始行   
  13. SELECT @LastRec = (@CurrentPage * @PageSize + 1) --計算頁結束行   
  14.     
  15. SELECT @dtsubstring(convert(varchar,rand()),3,10) --一個字符型的隨機數   
  16.  

--將搜索結果放入臨時表中,表名隨機生成,在' FROM '前插入'INTO '+隨機臨時表名 

  1. SELECT @SqlStr = stuff(@SqlStr, charindex(' FROM ',upper(@SqlStr)), 6 ,' INTO tempdb..Paging'+@dt+' FROM ')   
  2. EXECUTE (@SqlStr)   

 
--為臨時表增加id號 

  1. SELECT @SqlStr = 'ALTER TABLE tempdb..Paging'+@dt+' ADD TEMPDB_ID numeric(10) IDENTITY PRIMARY KEY'   
  2. EXECUTE (@SqlStr)   

 
--計算臨時表中的記錄數 

  1. --SELECT @SqlStr = 'SELECT Count(*) From tempdb..Paging'+@dt   
  2. --EXECUTE (@SqlStr)   

 
--選取記錄號在起始行和結束行中間的記錄 

  1. SELECT @SqlStr = 'SELECT * FROM tempdb..Paging'+@dt+' WHERE TEMPDB_ID > '+convert(varchar,@FirstRec)+' and TEMPDB_ID < '+convert(varchar,@LastRec)   
  2. EXECUTE (@SqlStr)   

 
--刪除臨時表

  1. SELECT @SqlStr = 'DROP TABLE tempdb..Paging'+@dt   
  2. EXECUTE (@SqlStr)    
  3.      
  4. END  

----------------------------------------------------另外寫了個取記錄數的存儲過程:

  1. CREATE PROCEDURE xdztest.GetDataCount  
  2. (  
  3.      @SqlStr varchar(8000)  
  4. )  
  5. AS  
  6. BEGIN  
  7. EXECUTE (@SqlStr)  
  8. END  
  9.    
  10.  

 

 

 

【編輯推薦】

sybase分頁存儲過程的實現

活用Sybase超級用戶密碼

Sybase數據災難方案淺析

Sybase數據庫引擎運行方法簡介

Oracle數據庫如何正確訪問SYBASE數據

責任編輯:段燃 來源: 互聯網
相關推薦

2009-12-28 09:50:32

ADO數據庫

2011-02-25 17:47:44

數據庫存儲編寫

2009-12-28 10:22:52

ADO Records

2009-12-24 16:32:00

ADO 記錄集

2011-08-29 15:52:19

SQL ServerMybatis存儲過程

2010-05-07 13:03:01

Oracle通過存儲過

2011-05-17 15:30:27

Oracle數據庫ADO

2011-08-15 15:14:54

SQL Server存儲過程異常處理

2010-10-26 14:40:31

oracle存儲過程

2017-09-03 15:41:31

數據庫存儲分布式

2009-11-11 16:44:47

ADO記錄集

2010-11-29 09:45:30

Sybase分頁

2011-08-25 09:31:43

JDBC調用Oracl

2011-08-23 10:14:09

JDBC更新計數行調用存儲過程SQL Server

2010-11-29 09:12:46

sybase分頁存儲過

2010-11-29 15:25:39

Sybase存儲過程

2010-10-26 14:27:30

oracle存儲過程

2010-04-30 14:22:43

Oracle通過

2009-09-11 15:12:26

LINQ執行存儲過程

2009-12-28 13:53:01

ADO.NET記錄集
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩精品一区二区三区中文在线 | 精品网站999www | 天天躁日日躁狠狠很躁 | 韩日精品视频 | 一区二区成人 | 一级黄色网页 | 四虎最新| 国产精品99久久久久久动医院 | av中文网| 99在线免费观看视频 | 男女网站在线观看 | www.99热.com | 精品欧美乱码久久久久久 | 亚洲人成人一区二区在线观看 | 激情国产在线 | 亚洲午夜精品 | 美女张开腿露出尿口 | 久久国产精品久久久久久久久久 | 中文字幕亚洲区 | 九九热精品视频 | 久久久久久久久久久丰满 | 久久久久久99 | 亚洲成人一区 | 亚洲成人国产精品 | 国产高清性xxxxxxxx | 精品久久久久久久久久久下田 | 成人福利网 | 99精品久久 | 日韩视频在线一区 | 国产成人99久久亚洲综合精品 | 国产精品一区2区 | 国产精品18hdxxxⅹ在线 | 国产91丝袜在线播放 | 高清黄色 | 亚洲一区免费 | 日本黄色大片免费 | 国产精品中文字幕在线 | 国产精品区一区二区三 | 日韩免费视频 | 久久精品国产99国产 | 国产线视频精品免费观看视频 |