
复制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(); } } 1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.32.33.34.35.36.37.38.39.40.41.42.43.44.45.46.47.48.49.50.51.52.53.54.55.56.57.58.59.60.61.62.63.64.65.66.67.68.69.70.71.72.73.74.
作者:系统运维