明月千度 2019-05-05 21:51 采纳率: 50%
浏览 1321

参数 13 无效:参数索引超出范围

图片说明

图片说明

在页面往数据库添加数据的时候,出现这个错误,在网上找解决方法,都是说什么 ? 不用加引号,我也看了一下自己的sql语句,?没加引号啊。报的错误是参数13 INSERT_TIME ,我这个参数13 是一个日期,数据库是 TIMESTAMP 类型的,然后取值用函数 F_GET_MAX_KEY

CREATE OR REPLACE FUNCTION "F_GET_MAX_KEY" ("IC_NAME" VARCHAR(255) )
  RETURNS VARCHAR(255)
BEGIN
  /**
  描述:根据序列生成表的流水主键
  参数:IC_NAME:标识名(忽略大小写).
                  'SHORT':YYMMDD+序列SEQ_MAXKEY值;
                  'LONG':YYYYMMDDHHMISSFF3+序列SEQ_MAXKEY值;
                  其他:YYYYMMDDHHMISS+序列SEQ_MAXKEY值;
  **/
  DECLARE RESULTSTR VARCHAR (255) DEFAULT '';
  SET IC_NAME = UPPER(IC_NAME) ;
  IF UPPER(IC_NAME) = 'SHORT' THEN
      SELECT TO_CHAR (CURRENT TIMESTAMP, 'YYMMDD') || LPAD (NEXTVAL FOR SEQ_MAXKEY, 4, '0')
      INTO RESULTSTR 
      FROM SYSIBM.DUAL;
  ELSEIF UPPER(IC_NAME) = 'LONG' THEN
      SELECT TO_CHAR (CURRENT TIMESTAMP, 'YYYYMMDDHHMISSFF3') || LPAD (NEXTVAL FOR SEQ_MAXKEY, 4, '0')
      INTO RESULTSTR
      FROM SYSIBM.DUAL;
  ELSE
      SELECT TO_CHAR (SYSDATE, 'YYYYMMDDHHMISS') || LPAD (NEXTVAL FOR SEQ_MAXKEY, 4, '0')
      INTO RESULTSTR
      FROM SYSIBM.DUAL;
  END IF;
  RETURN RESULTSTR;
END;
DBHelper.execute(
 "insert into CUST_UNION(
 CUST_NO_CORE,CUST_NAME,CUST_TYPE,CERT_TYPE,CERT_ID,BIRTHDAY,
 SEX,DEPOSIT_BALANCE,CUST_STATUS,MANAGER_USER_ID,
 MANAGER_DEPT_ID,INSERT_DEPT,INSERT_USER,INSERT_TIME,REMARK)
 values( f_get_max_key('short'),?,?,?,?,
        f_get_max_key('short'),?,?,?,?,?,?,?
 ,f_get_max_key('long'),?)", 
 CUST_NAME,CUST_TYPE,CERT_TYPE,CERT_ID,BIRTHDAY,SEX,DEPOSIT_BALANCE,CUST_STATUS,MANAGER_USER_ID,MANAGER_DEPT_ID,INSERT_DEPT,INSERT_USER,INSERT_TIME,REMARK);

求大神 解释说说什么情况?

  • 写回答

2条回答 默认 最新

  • pengcan52021 2019-05-05 23:07
    关注

    这种情况,看看数据库子段设置的长度,以及类型的最大限度

    评论

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!