【发布时间】:2013-11-14 05:39:17
【问题描述】:
我有应该从 SQL 函数访问返回值的 java 代码。 SQL 函数返回四个 VARCHAR 类型的值。 下面给出java代码
ResultSet rs = null;
CallableStatement stmt = null;
List<TestObj> objList= new ArrayList<TestObj>();
try
{
stmt = con.prepareCall( "{? = call TEST_FUNCTION(?,?) }");
int count = 0;
stmt.registerOutParameter( ++count, Types.VARCHAR );
stmt.setString( ++count, "A");
stmt.setString( ++count, "B");
stmt.execute();
rs = stmt.getResultSet();
while( rs.next() )
{
TestObj obj= new TestObj ();
obj.setA( rs.getString( "TEST1" ) );
obj.setB( rs.getString( "TEST2" ) );
obj.setC( rs.getString( "TEST3" ) );
obj.setD( rs.getString( "TEST4" ) );
objList.add( obj);
}
}
catch( SQLException e )
{
e.printStackTrace();
}
finally
{
rs.close();
stmt.close();
}
运行时,它会在“rs.next()”处给我一个空点异常。谁能请告诉我如何访问函数的返回值。
注意:将值传递给函数并执行查询工作正常,没有任何异常(stmt.execute() 运行没有任何异常)
【问题讨论】:
-
请告诉我如何访问返回值
-
试试while(rs.hasNext())
-
能否提一下SQL函数代码..
-
这是一个第三方功能。我无法访问函数体。它返回varchar类型四个参数
标签: java sql return-value sql-function