请问存储过程若是返回结果集记录的情况下,java如何调用?
即我该什么什么类型的对象来获取它?
难道是vector?还是其它?
不会是一个rs对象吧?
最好能给个具体调用的简单实例即可
急!!!!!
多谢
|
//准备SQL语句
strSQL = "{call sp_jsptest(?,?)}";
//准备可调用语句对象
sqlStmt = sqlCon.prepareCall(strSQL);
//设置输入参数
sqlStmt.setString(1,strName);
//登记输出参数
sqlStmt.registerOutParameter(2,java.sql.Types.Array);
//执行该存储过程并返回结果集
sqlRst = sqlStmt.executeQuery();
//获取来自结果集中的数据
sqlRst.next();
strWelcome = sqlRst.getString(1);
//获取输出参数的值
java.sql.Array strMyName = sqlStmt.getString(2);
|
public Array getArray(String colName)
throws SQLException
Returns the value of the designated column in the current row of this ResultSet object as an Array object in the Java programming language.
Parameters:
colName - the name of the column from which to retrieve the value
Returns:
an Array object representing the SQL ARRAY value in the specified column
Since:
1.2
See Also:
What Is in the JDBC 2.0 API
|
String QQuery = "{call JG_GE(?)}";
Stmt = Conn.prepareStatement(QQuery);
Stmt.setString(1,"02");
Stmt.execute();
ResultSet rs = Stmt.getResultSet();
while(rs.next()) {
str1 = rs.getString(1);
str2 = rs.getString(2);
..........
}
rs.close();
Stmt.close();
Conn.close();
|
这要看你的存储过程返回的是什么类型的记录集,然后你用响应的接受啊,
|
别用function,用带out参数的Procedure试试
|
或许你的JDBC不支持吧