如何从一个CallableStatement获得多个结果集?

如何从一个CallableStatement获得多个结果集?,第1张

如何从一个CallableStatement获得多个结果集?

我找到了这篇很棒文章。http://www.herongyang.com/JDBC/MySQL-CallableStatement-Multiple-
ResulSet.html

这是该文章中的代码

import java.sql.*;public class MySqlCallMultipleResultSet {  public static void main(String [] args) {    Connection con = null;    try {      com.mysql.jdbc.jdbc2.optional.MysqlDataSource ds         = new com.mysql.jdbc.jdbc2.optional.MysqlDataSource();      ds.setServerName("localhost");      ds.setPortNumber(3306);      ds.setDatabaseName("HerongDB");      ds.setUser("Herong");      ds.setPassword("TopSecret");      con = ds.getConnection();// Create CallableStatement      CallableStatement cs = con.prepareCall("CALL HeadTail(?)");// Register OUT parameters      cs.registerOutParameter(1, java.sql.Types.INTEGER);// Execute the CALL statement and expecting multiple result sets      boolean isResultSet = cs.execute();// First ReulstSet object      if (!isResultSet) {        System.out.println("The first result is not a ResultSet.");        return;      }// First ReulstSet object      System.out.println("Head of the table:");      ResultSet res = cs.getResultSet();      while (res.next()) {        System.out.println("  "+res.getInt("ID")          +", "+res.getString("FirstName")          +", "+res.getString("LastName")          +", "+res.getTimestamp("ModTime"));      }      res.close();// Move to the next result      isResultSet = cs.getMoreResults();      if (!isResultSet) {        System.out.println("The next result is not a ResultSet.");        return;      }// Second ReulstSet object      System.out.println("Tail of the table:");      res = cs.getResultSet();      while (res.next()) {        System.out.println("  "+res.getInt("ID")          +", "+res.getString("FirstName")          +", "+res.getString("LastName")          +", "+res.getTimestamp("ModTime"));      }      res.close();// Retrieve OUT parameters      System.out.println("Total number of records: "+cs.getInt(1));// Close resource      cs.close();      con.close();    } catch (Exception e) {      System.err.println("Exception: "+e.getMessage());      e.printStackTrace();    }  }}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5561794.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-14
下一篇2022-12-14

发表评论

登录后才能评论

评论列表(0条)

    保存