错误信息:java.lang.StringIndexOutOfBoundsException: String index out of range: 10
执行这段SQL的时候出的错:
INSERT INTO T_EC_COLLECTMAIN (S_ID,Y,W,TIME,SUBMITTIME,COMPANYID,DEPTID,CUSTOMERID,CUSTOMERCODE,CUSTOMERNAME,CUSTOMGRID,CUSTOMGRNAME,T_STOCK,T_SALES,STATUS,REMARK,ISCANCEL)  VALUES(46,0,0,'2011-04-03','2011-01-01',32040100,12,20520,'3204011014729','邹村小店',129,'张君飞',32.0,6.0,0,'',0):
注意, 我数据库跑是可以成功的,但是在程序中跑就报错了

解决方案 »

  1.   

    .。。S_ID,Y,W,TIME,SUBMITTIME,COMPANYID,DEPTID,CUSTOMERID,CUSTOMERCODE,CUSTOMERNAME,CUSTOMGRID,CUSTOMGRNAME
    这只有12个字段46,0,0,'2011-04-03','2011-01-01',32040100,12,20520,'3204011014729','邹村小店 ',129,'张君飞',32.0,6.0,0,'',0这有17个值怎么对应?
      

  2.   

    LZ是用setString()吗?
    注意java中下标是从0开始  而oracle是从1开始的
      

  3.   

    如果是用的mysql的切忌中文输入编码配置要正确
      

  4.   

    建议楼主贴你的代码,这个insert看似没有问题。参数与值个数是对应的。估计是你其他地方引起的IndexOutOfBoundsException 是不是其他地方截取字符串 截取多了,比如时间部分 '2011-5-1' 与 '2011-05-01'的 substring是不同的,如果楼主截取10的话就会报异常了。
      

  5.   

     oracle 中 也不是说从1开始,只是1和0不能一起使用,也就是说 1,0  都是代表第一个