import java.sql.*; public class Study { private Connection con; public ResultSet re; private CallableStatement callsta; private String str; private String use = "sa"; private String pwd = "sa"; public Study() { try { //连接数据库驱动 Class.forName ("com.microsoft.jdbc.sqlserver.SQLServerDriver"); String str = "jdbc:microsoft:sqlserver://localhost:1433;databasename=northwind"; con = DriverManager.getConnection (str, use, pwd); //设置存储过程参数 String st = "{call MyProc(?,?,?)}"; callsta = con.prepareCall (st); callsta.setInt (1, 10248); callsta.registerOutParameter (2, Types.VARCHAR); callsta.registerOutParameter (3, Types.INTEGER); //测试调用执行成功与否 System.out.println (callsta.execute() ); //循环输出调用存储过程的记录结果 if (callsta.execute() == true) { re = callsta.getResultSet(); while (re.next() ) { System.out.println (re.getInt (1) + " " + re.getString (2) + " " + re.getInt (3) ); } } else { System.out.println ("dfas"); } } catch (Exception e) { e.printStackTrace(); } } public static void main (String[] age) { Study study = new Study(); } }