程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> 談談Java調用SQL Server分頁存儲過程(2)

談談Java調用SQL Server分頁存儲過程(2)

編輯:關於JAVA

Java調用儲存過程:

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