Session session = HibernateUtils.getSession();
String sql = "{call transition (?,?,?,?,?,?,?,?,?,?)}";
CallableStatement call = null;
......
call.setBigDecimal("p_balance", accinfoctrol.getBalance());// 余额
call.setBigDecimal("p_scale", accinfoctrol.getInitproportion());// 初始保证金比例
call.setInt("p_accountid", accinfoctrol.getId().getAccountid());// 帐户序号
call.setInt("p_chfg", accinfoctrol.getId().getChflag());// 钞汇标志
call.setString("p_currency", accinfoctrol.getId().getMargcurrency());// 保证金币种
call.setString("p_OrderId", rskinform.getOrderid());// 订单号
call.setInt("p_changeFlag", rskinform.getChangeflag());// 变动标志
call.setInt("p_ModiFlag", rskinform.getModiflag());// 更改标志
call.setInt("p_transactFlag", rskinform.getTransactflag());// 处理标志
call.registerOutParameter("publicreturn", -1);为什么这样写,数据都已经影响了数据库,而会抛出异常呢?
java.sql.SQLException: 不允许的操作: Ordinal binding and Named binding cannot be combined!
at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:120)
at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:118)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:224)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:296)
at oracle.jdbc.driver.OracleCallableStatement.getInt(OracleCallableStatement.java:2723)
at oracle.jdbc.driver.OracleCallableStatementWrapper.getInt(OracleCallableStatementWrapper.java:2388)
at com.hrfxb.persistence.service.DaoDataBase.transition(DaoDataBase.java:144)
at com.hrfxb.persistence.test.TransitionTest.testTransition(TransitionTest.java:38)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at junit.framework.TestCase.runTest(TestCase.java:164)
at junit.framework.TestCase.runBare(TestCase.java:130)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:120)
at junit.framework.TestSuite.runTest(TestSuite.java:230)
at junit.framework.TestSuite.run(TestSuite.java:225)
at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
String sql = "{call transition (?,?,?,?,?,?,?,?,?,?)}";
CallableStatement call = null;
......
call.setBigDecimal("p_balance", accinfoctrol.getBalance());// 余额
call.setBigDecimal("p_scale", accinfoctrol.getInitproportion());// 初始保证金比例
call.setInt("p_accountid", accinfoctrol.getId().getAccountid());// 帐户序号
call.setInt("p_chfg", accinfoctrol.getId().getChflag());// 钞汇标志
call.setString("p_currency", accinfoctrol.getId().getMargcurrency());// 保证金币种
call.setString("p_OrderId", rskinform.getOrderid());// 订单号
call.setInt("p_changeFlag", rskinform.getChangeflag());// 变动标志
call.setInt("p_ModiFlag", rskinform.getModiflag());// 更改标志
call.setInt("p_transactFlag", rskinform.getTransactflag());// 处理标志
call.registerOutParameter("publicreturn", -1);为什么这样写,数据都已经影响了数据库,而会抛出异常呢?
java.sql.SQLException: 不允许的操作: Ordinal binding and Named binding cannot be combined!
at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:120)
at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:118)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:224)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:296)
at oracle.jdbc.driver.OracleCallableStatement.getInt(OracleCallableStatement.java:2723)
at oracle.jdbc.driver.OracleCallableStatementWrapper.getInt(OracleCallableStatementWrapper.java:2388)
at com.hrfxb.persistence.service.DaoDataBase.transition(DaoDataBase.java:144)
at com.hrfxb.persistence.test.TransitionTest.testTransition(TransitionTest.java:38)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at junit.framework.TestCase.runTest(TestCase.java:164)
at junit.framework.TestCase.runBare(TestCase.java:130)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:120)
at junit.framework.TestSuite.runTest(TestSuite.java:230)
at junit.framework.TestSuite.run(TestSuite.java:225)
at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
解决方案 »
- oracle数据库Date类型(急)
- 搞怪的编码!!jsp页面用gbk编码, 被编译后报错? 搞怪!!!!!!!!!! 搞怪!!!!!!!!!!!!!!
- 怎么通过一个URL地址得到这个地址所对应网页的文本内容呢
- 解决客户端刷新问题?
- JDBC对数据库操作
- struts里mapping.findForward的简单问题
- JTable中怎么实现鼠标点击一行中的任意一个单元格,整行显示蓝底白字? -在线等
- 请教高手:我在weblogic中发布一个jasperreport的报表,结果出现异常!???
- ejb 调用ejb
- java导出Excel时间类型处理
- getHibernateTemplate()为什么需要flush()?
- 关于hibernate使用distinct去重的问题
可能不支持, 你直接用JDBC在另外的代码试试看能不能成功,