Sql Server分页存储过程可以让我们的开发更为方便,接下来的SQL server内容就为您介绍一个java调用Sql Server分页存储过程的实例,希望可以让您对Sql Server分页存储过程有更深的了解。
package test; import java.sql.*; public class Study3 { private Connection con; public ResultSet rs; private CallableStatement callsta; private String use = "sa"; private String pwd = "sa"; public Study3() { try { // 连接数据库驱动 Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); String str = "jdbc:microsoft:sqlserver://localhost:1433;databasename=test"; con = DriverManager.getConnection(str, use, pwd); // 设置存储过程参数 String st = "{call Paging( , , )}"; callsta = con.prepareCall(st); callsta.setString(1, "select * from T_employee"); callsta.setInt(2, 1); callsta.setInt(3, 3); // 循环输出调用存储过程的记录结果 StringBuffer sb=new StringBuffer(); int rsNum=0;//统计结果集的数量 int updateCount = -1; boolean flag = callsta.execute();// 这个而尔值只说明第一个返回内容是更新计数还是结果集。 do { updateCount = callsta.getUpdateCount(); if (updateCount != -1) {// 说明当前行是一个更新计数 // 处理. System.out.println("..说明当前行是一个更新计数.."); callsta.getMoreResults(); continue;// 已经是更新计数了,处理完成后应该移动到下一行 // 不再判断是否是ResultSet } rs = callsta.getResultSet(); if (rs != null) {// 假如到了这里,说明updateCount == -1 // 处理rs rsNum++; System.out.println("统计结果集的数量:"+rsNum); if (rs != null) { ResultSetMetaData rsrsmd = rs.getMetaData(); // 获取字段名 int numberOfColumns = rsmd.getColumnCount(); // 获取字段数 int i = 0; while (rs.next()) { // 将查询结果取出 for (i = 1; i <= numberOfColumns; i++) { // System.out.println(rs.getInt("总页数")); String date = rs.getString(i); sb.append(date+" "); } } rs.close(); } callsta.getMoreResults(); continue; // 是结果集,处理完成后应该移动到下一行 } // 假如到了这里,说明updateCount == -1 && rs == null,什么也没的了 System.out.println(sb.toString()); } while (!(updateCount == -1 && rs == null)); // callsta.getXXX(int);//获取输出参数 } catch (Exception e) { e.printStackTrace(); } } public static void main(String[] age) { Study3 study = new Study3(); } }