您的位置:首页 > 其它

调用带输出参数的存储过程

2011-04-02 15:44 239 查看
CREATE PROCEDURE `outputstring`(out tmoney char(20),out tage int)

BEGIN
select max(money) into tmoney from t_user;
select max(age) into tage from t_user;
END;

package test;

import java.sql.*;
import java.sql.ResultSet;

public class Test {

public static void main(String[] args) {
String driver = "com.mysql.jdbc.Driver";
String strUrl = "jdbc:mysql://127.0.0.1:3306/java_test";
ResultSet rs = null;
Connection conn = null;
CallableStatement stmt = null;

try {
Class.forName(driver);
conn = DriverManager.getConnection(strUrl, "root", "pass");
stmt = conn.prepareCall("{ call java_test.outputstring(?,?) }");
stmt.registerOutParameter(1, Types.VARCHAR);
stmt.registerOutParameter(2, Types.INTEGER);
stmt.execute();
String i= stmt.getString(1);
int i2= stmt.getInt(2);
System.out.println("count = " + i);
System.out.println("count2 = " + i2);
} catch (SQLException ex2) {
ex2.printStackTrace();
} catch (Exception ex2) {
ex2.printStackTrace();
} finally {
try {
if (rs != null) {
rs.close();
if (stmt != null) {
stmt.close();
}
if (conn != null) {
conn.close();
}
}
} catch (SQLException ex1) {
}
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: