62,620
社区成员
发帖
与我相关
我的任务
分享
java.sql.SQLException: ORA-01008: 并非所有变量都已关联
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:745)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:216)
at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:966)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1170)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3339)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:3423)
at com.jdim.database.dao.implay.MemberIncomeDAOImplay.updateMemberDAO(MemberIncomeDAOImplay.java:190)
at com.jdim.database.service.DataService.operBillService(DataService.java:99)
at com.jdim.database.service.DataService.dataMain(DataService.java:77)
at com.jdim.main.ChargeMain.chargeMainTest(ChargeMain.java:79)
at com.jdim.main.ChargeTest.main(ChargeTest.java:14)
//优惠券铃声或者企业铃声
memSql = " merge into membernum using (select count(id) count from membernum where phone = ? and ringid = ? ) num2 on (num2.count <> 0 ) " +
"when matched then update set balance = balance + ?, totalnum = totalnum + ? " +
"when not matched then insert (id, phone,ringid,totalnum,balance)" +
" values (SEQ_MEMBERINCOME.nextval, ? , ? , 0 , 0)" ;
memPst = connection.prepareStatement(memSql);
memPst.setObject(1, resultSet.getString(1));
memPst.setObject(2, resultSet.getInt(5));
memPst.setObject(3, resultSet.getInt(4));
memPst.setObject(4, resultSet.getInt(4));
memPst.setObject(5, resultSet.getString(1));
memPst.setObject(6, resultSet.getInt(5));
memPst.executeUpdate() ;
memSql = " merge into membernum using (select count(id) count from membernum where phone = " +resultSet.getString(1)+
" and ringid = "+resultSet.getInt(5)+" ) num2 on (num2.count <> 0 ) " +
"when matched then update set balance = balance + "+resultSet.getInt(4)+", totalnum = totalnum + " + resultSet.getInt(4) +
"when not matched then insert (id, phone,ringid,totalnum,balance)" +
" values (SEQ_MEMBERINCOME.nextval, "+resultSet.getString(1)+" , "+resultSet.getInt(5)+" , "
+resultSet.getInt(4)+" , "+resultSet.getInt(4)+")" ;
memPst = connection.prepareStatement(memSql);
memPst.execute(memSql);