日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
談?wù)凧ava調(diào)用SQLServer分頁存儲(chǔ)過程

本文主要談?wù)凧ava調(diào)用SQL Server分頁存儲(chǔ)的過程,其返回是多個(gè)結(jié)果集,只要呈現(xiàn)形式是代碼,文字不多,簡單易懂。

站在用戶的角度思考問題,與客戶深入溝通,找到耒陽網(wǎng)站設(shè)計(jì)與耒陽網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都做網(wǎng)站、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名注冊(cè)、網(wǎng)站空間、企業(yè)郵箱。業(yè)務(wù)覆蓋耒陽地區(qū)。

SQL存儲(chǔ)過程:

 
 
 
  1. USE [Db_8za8za_2]   
  2. GO   
  3.   
  4. SET ANSI_NULLS ON   
  5. GO   
  6. SET QUOTED_IDENTIFIER ON   
  7. GO   
  8. -- =============================================   
  9. -- Description:       
  10. -- =============================================   
  11. ALTER PROCEDURE [dbo].[paging ]   
  12.     -- Add the parameters for the stored procedure here   
  13.     --傳入?yún)?shù)   
  14.     @SqlStr nvarchar(4000), --查詢字符串   
  15.     @CurrentPage int, --第N頁(當(dāng)前頁數(shù))   
  16.     @PageSize int --每頁行數(shù)   
  17. AS   
  18. BEGIN   
  19.     -- SET NOCOUNT ON added to prevent extra result sets from   
  20.     -- interfering with SELECT statements.   
  21.     SET NOCOUNT ON;   
  22.     --定義變量   
  23.     DECLARE @CursorId int --CursorId是游標(biāo)的id   
  24.     DECLARE @Rowcount int --總記錄(行)數(shù)   
  25.     DECLARE @pageCount int --總頁數(shù)   
  26.     -- Insert statements for procedure here   
  27.       
  28.     EXEC sp_cursoropen @CursorId output,@SqlStr,   
  29.         @Scrollopt=1,@Ccopt=1,@Rowcount=@Rowcount OUTPUT   
  30.       
  31.     SET @pageCount=CEILING(1.0*@Rowcount/@PageSize)--設(shè)置總頁數(shù)   
  32.       
  33.     SELECT @pageCount   
  34.         AS 總頁數(shù),@Rowcount AS 總行數(shù),@CurrentPage AS 當(dāng)前頁 --提示頁數(shù)   
  35.   
  36.     IF(@CurrentPage>@pageCount)--如果傳入的當(dāng)前頁碼大入總頁碼數(shù)則把當(dāng)前頁數(shù)設(shè)為***一頁   
  37.         BEGIN   
  38.             SET @CurrentPage = @pageCount--設(shè)置當(dāng)前頁碼數(shù)   
  39.         END   
  40.     IF(@CurrentPage<=0)--如果傳入的當(dāng)前頁碼大入總頁碼數(shù)則把當(dāng)前頁數(shù)設(shè)為***頁   
  41.         BEGIN   
  42.             SET @CurrentPage = 1--設(shè)置當(dāng)前頁碼數(shù)   
  43.         END   
  44.     SET @CurrentPage=(@CurrentPage-1)*@PageSize+1 --設(shè)置當(dāng)前頁碼數(shù)   
  45.   
  46.     EXEC sp_cursorfetch @CursorId,16,@CurrentPage,@PageSize   
  47.     EXEC sp_cursorclose @CursorId    --關(guān)閉游標(biāo)   
  48.   
  49.     SET NOCOUNT OFF   
  50. END  

#p#

Java調(diào)用儲(chǔ)存過程:

 
 
 
  1. package test;  
  2.   
  3. import java.sql.*;  
  4.   
  5. public class Study3 {  
  6.     private Connection con;  
  7.     public ResultSet rs;  
  8.     private CallableStatement callsta;  
  9.     private String use = "sa";  
  10.     private String pwd = "sa";  
  11.   
  12.     public Study3() {  
  13.         try {  
  14.             // 連接數(shù)據(jù)庫驅(qū)動(dòng)  
  15.             Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");  
  16.             String str = "jdbc:microsoft:sqlserver://localhost:1433;databasename=test";  
  17.             con = DriverManager.getConnection(str, use, pwd);  
  18.   
  19.             // 設(shè)置存儲(chǔ)過程參數(shù)  
  20.             String st = "{call Paging(?,?,?)}";  
  21.             callsta = con.prepareCall(st);  
  22.             callsta.setString(1, "select * from T_employee");  
  23.             callsta.setInt(2, 1);  
  24.             callsta.setInt(3, 3);  
  25.   
  26.             // 循環(huán)輸出調(diào)用存儲(chǔ)過程的記錄結(jié)果  
  27.             StringBuffer sb=new StringBuffer();  
  28.             int rsNum=0;//統(tǒng)計(jì)結(jié)果集的數(shù)量  
  29.             int updateCount = -1;  
  30.             boolean flag = callsta.execute();// 這個(gè)而爾值只說明***個(gè)返回內(nèi)容是更新計(jì)數(shù)還是結(jié)果集。  
  31.             do {  
  32.                 updateCount = callsta.getUpdateCount();  
  33.                 if (updateCount != -1) {// 說明當(dāng)前行是一個(gè)更新計(jì)數(shù)  
  34.                     // 處理.  
  35.                     System.out.println("..說明當(dāng)前行是一個(gè)更新計(jì)數(shù)..");  
  36.                     callsta.getMoreResults();  
  37.                     continue;// 已經(jīng)是更新計(jì)數(shù)了,處理完成后應(yīng)該移動(dòng)到下一行  
  38.                     // 不再判斷是否是ResultSet  
  39.                 }  
  40.                 rs = callsta.getResultSet();  
  41.                 if (rs != null) {// 如果到了這里,說明updateCount == -1  
  42.                     // 處理rs  
  43.                     rsNum++;  
  44.                     System.out.println("統(tǒng)計(jì)結(jié)果集的數(shù)量:"+rsNum);  
  45.                     if (rs != null) {  
  46.                         ResultSetMetaData rsmd = rs.getMetaData(); // 獲取字段名  
  47.                         int numberOfColumns = rsmd.getColumnCount(); // 獲取字段數(shù)  
  48.                         int i = 0;  
  49.                         while (rs.next()) { // 將查詢結(jié)果取出  
  50.                             for (i = 1; i <= numberOfColumns; i++) {  
  51. //                              System.out.println(rs.getInt("總頁數(shù)"));  
  52.                                 String date = rs.getString(i);  
  53.                                 sb.append(date+" ");  
  54.                             }  
  55.                         }  
  56.                         rs.close();  
  57.                     }  
  58.                     callsta.getMoreResults();  
  59.                     continue;  
  60.                     // 是結(jié)果集,處理完成后應(yīng)該移動(dòng)到下一行  
  61.                 }  
  62.                 // 如果到了這里,說明updateCount == -1 && rs == null,什么也沒的了  
  63.                 System.out.println(sb.toString());  
  64.             } while (!(updateCount == -1 && rs == null));  
  65.             // callsta.getXXX(int);//獲取輸出參數(shù)  
  66.         } catch (Exception e) {  
  67.             e.printStackTrace();  
  68.         }  
  69.     }  
  70.   
  71.     public static void main(String[] age) {  
  72.         Study3 study = new Study3();  
  73.     }  
  74. }  

網(wǎng)站名稱:談?wù)凧ava調(diào)用SQLServer分頁存儲(chǔ)過程
文章URL:http://www.dlmjj.cn/article/djsssoj.html