数据库查询问题
String sql = "{call LMIS_CLPDCASH_DISTRIBUTING_RPT(1,567,1)} ";
Connection conn = Until.getConncetion();
ResultSet rs = conn.createStatement().executeQuery(sql);
while(rs.next){
.................
}
那个sql是个存储过程。
执行后报这样的错:
java.sql.SQLException: JZ0S8: SQL 查询中的转义序列不对: ' {call LMIS_CLPDCASH_DISTRIBUTING_RPT(1,567,1) '。
at com.sybase.jdbc2.jdbc.ErrorMessage.raiseError(ErrorMessage.java:534)
at com.sybase.jdbc2.jdbc.EscapeTokenizer.next(EscapeTokenizer.java:222)
at com.sybase.jdbc2.jdbc.SybStatement.processEscapes(SybStatement.java:303)
at com.sybase.jdbc2.jdbc.SybStatement.doEscapeProcessing(SybStatement.java:404)
at com.sybase.jdbc2.jdbc.SybStatement.executeQuery(SybStatement.java:416)
at com.bestinfo.commons.wordhtml.Until.getResultSet(Until.java:640)
at com.bestinfo.commons.wordhtml.add.M4.deal(M4.java:45)
at com.bestinfo.commons.wordhtml.DealFirst.deal(DealFirst.java:85)
at com.bestinfo.commons.wordhtml.MainWord.doIt(MainWord.java:69)
at com.bestinfo.commons.wordhtml.MainWord.main(MainWord.java:24)
java.lang.NullPointerException at com.bestinfo.commons.wordhtml.add.M4.deal(M4.java:51)
at com.bestinfo.commons.wordhtml.DealFirst.deal(DealFirst.java:85)
at com.bestinfo.commons.wordhtml.MainWord.doIt(MainWord.java:69)
at com.bestinfo.commons.wordhtml.MainWord.main(MainWord.java:24)
Exception in thread "main "
------解决方案--------------------是不是你的存储过程中某个变量被当成了转义字符处理了??\n....\.....
------解决方案--------------------参数个数或者参数类型和存储过程定义的不一致
------解决方案--------------------转译序列不对,说的就是你{...}中的内容不对。检查你的过程。
------解决方案--------------------CallableStatement