心急如焚,关于调用存储过程的问题求教高手
bsd 2003-03-28 05:29:25 在SQLServer2000中
偶有一个存储过程带了多个参数
其中有一个参数是sql的代码片断
形如("name like '%tom%'")
在存储过程中该参数将被用来与其它代码拼装成一个完整的SQL语句
以便执行
问题是
偶在查询分析器中执行调用存储过程的命令得出正确的结果
但使用Java的CallableStatement时,
String sqlStr = "{call getRecords (? , ?, ?, ?)}";
CallableStatement cstmt = conn.prepareCall(sqlStr);
cstmt.setString(1,id);
cstmt.setString(2,from);
cstmt.setString(3,to);
cstmt.setString(4,"name like '%tom%'");
cstmt.executeQuery(); //这一行报错:(
执行executeQuery()就报错
java.sql.SQLException: General error
at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6060)
at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:6188)
at sun.jdbc.odbc.JdbcOdbc.SQLExecute(JdbcOdbc.java:2533)
at sun.jdbc.odbc.JdbcOdbcPreparedStatement.execute(JdbcOdbcPreparedStatement.java:217)
at sun.jdbc.odbc.JdbcOdbcPreparedStatement.executeQuery(JdbcOdbcPreparedStatement.java:92)
at test.tmptest.TestCallableStatement.getRecord(TestCallableStatement.java:40)
at test.tmptest.TestCallableStatement.test(TestCallableStatement.java:71)
at test.tmptest.TestCallableStatement.main(TestCallableStatement.java:76)
请诸位大侠指点!多谢了