代码如下:
public boolean createImpOem(ImpOem[] impOem) {
List<String> sql = new ArrayList<String>();
StringBuilder sb = new StringBuilder();
String[][] parList = new String[impOem.length+1][];
  ImpOem item = null;
String[] par = null;


sb.append(" DELETE FROM IMP_OEM");
// parList[0] = new String[]{impOem[0].getINS_DATE()};
sql.add(sb.toString());
sb.delete(0, sb.length());

for (int i = 0; i  < impOem.length; i++) {
item = impOem[i];

sb.append(" INSERT INTO DPG_IMP_OEM ");
sb.append(" ( ");
sb.append(" MAT_CODE, ");
sb.append(" MAT_NAME, ");
sb.append(" INS_DATE, ");
sb.append(" INS_EMP_CODE, ");
sb.append(" INS_EMP_NAME ");
sb.append(" ) ");
sb.append(" VALUES( ");
sb.append("?, ");
sb.append("?, ");
sb.append("SYSDATE, ");
sb.append("?, ");
sb.append("?  ");
sb.append(" ) ");

par = new String[4];
par[0] = StringUtils.trimToEmpty(item.getMAT_CODE());
par[1] = StringUtils.trimToEmpty(item.getMAT_NAME());
par[2] = StringUtils.trimToEmpty(item.getINS_EMP_CODE());
par[3] = StringUtils.trimToEmpty(item.getINS_EMP_NAME());
parList[i+1] = par; sql.add(sb.toString());
sb.delete(0, sb.length());
} try {
// 采用参数形式的批处理,避免转义输入内容
batUpdate(sql.toArray(new String[0]), parList);
} catch (Exception e) {
return false;
} return true;
}这里的i+1到底应该是多少,i+1?还是什么 还有Length+1  新手菜鸟 求大大帮忙解答下

解决方案 »

  1.   

    i+1就是根据i的变化在加1,因为i在不停的变化的
    数组的length属性啊 就是数组的元素个数啊(重0开始算)
    建议去买本j2se的基础书看看,或者基础视屏
      

  2.   

    i+1就是根据i的变化在加1,因为i在不停的变化的
    数组的length属性啊 就是数组的元素个数啊(重0开始算)
    建议去买本j2se的基础书看看,或者基础视屏
      

  3.   

    for (int i = 0; i < impOem.length; i++) {
    i+ 1 
     i = 0 ,i +1  = 1 ;
     i = 1 ,i +1  = 2 ;
    根据你的for循环到第几轮,i为第几轮 +1 
      

  4.   


    首先谢谢你,不过我知道这个...我就是想知道I+1这个运行报错 无效列索引 还有无效数字 以前写过一个类似的  公司牛人帮忙改成各种2i-1 还有2I什么的 这个让我自己弄 就不会了 希望帮帮忙 谢谢了
      

  5.   

    parList[i+1] = par;parList.length <= impOem.length -1 才可以 ,否则会报越界的