今天在用java程序执行SQL删除语句时报ORA-01008,不知道是哪里出了问题,请大牛帮忙
先调用bo.voucherDelete(pks);这个方法,方法如下:
public void voucherDelete(String[] pk_voucher) throws RemoteException {
int i = 0;
try {
MicroGLDMO dmo = new MicroGLDMO();
WyDMO wyDmo = new WyDMO();
for (; pk_voucher != null && i < pk_voucher.length; i++) {
String corp = dmo.getVoucherCorp(pk_voucher[i]);
if (corp != null) {
dmo.voucherDelete(corp, pk_voucher[i]);
}
wyDmo
.executeUpdateSQL("delete from VOUCHER_MC where VOUCHER_ID = '"
+ pk_voucher[i] + "'");
}
} catch (Exception e) {
throw new RemoteException("当前处理的第" + (i + 1) + "张凭证出错.\n"
+ e.getMessage() == null ? "" : e.getMessage());
}
}在执行完这个后报错,请大牛们帮忙!

解决方案 »

  1.   


    dmo.voucherDelete(corp, pk_voucher[i]);
    //你这个是干嘛的?
      

  2.   

    没有commit吧,在删除的最后 提交一下试试。
      

  3.   

    这个是调用封装的一个方法,如果满足上述条件,就删除corp,pk_voucher【i】这个字段一样的那条数据,就是执行这个的时候抛异常了!
      

  4.   


    java 不懂 应该是你写的sql语句在java里面有些地方的修改  
      

  5.   

    [oracle@sztyora ~]$ oerr ORA 1008
    01008, 00000, "not all variables bound"
    // *Cause:
    // *Action:
    -- 不是所有的变量均邦定!