首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用spring-mvc提交表单时不插入数据库

使用spring-mvc提交表单时不插入数据库
EN

Stack Overflow用户
提问于 2016-05-17 14:45:37
回答 1查看 26关注 0票数 0

异常是列索引超出范围: 16,列数: 15。;嵌套异常是org.postgresql.util.PSQLException:列索引超出范围: 16,列数:15。使用此查询提交表单时。敬请指教。你的帮助将是值得感谢的。

@Override public int insertNewApplication(TokenApplicantDetails tpd) {

代码语言:javascript
复制
    String sql = "INSERT INTO token_applicant_details"
            + "(application_no,applicant_name, applsex, "
            + "designation, date_of_superannuation, "
            + "phone_no, mobile_no, "
            + "office_type_code,ou_code,token_manufacturer_code,token_user_id,token_password, "
            +"certificate_no,certificate_issue_date,certificate_expiry_date, "
            +"fixed_ip_address,ref_no,form_type,original_application_receiving_date, "
            +"scanned_application_receiving_date,residential_address,staff_status, "
            +"email_id, enrollment_no, dispatch_no,fixed_ip_active, "
            +"refId,Deacivated_on) VALUES (null,?, ?, ?,to_date(?,'DD/MM/YYYY'), ?, ?, ?, ?, ?, ?, ?,null,null,null,null,null,?,null,null,?,?,?,null,null,null,null,null)";

    System.out.println("not inserted");
    return jdbcTemplate.update(sql,new Object[]{tpd.getApplication_no(),tpd.getApplicant_name(), tpd.getApplsex(),tpd.getDesignation(),tpd.getDate_of_superannuation(),tpd.getPhone_no(),tpd.getMobile_no(),
            tpd.getOffice_type_code(),tpd.getOu_code(),tpd.getToken_manufacturer_code(),tpd.getToken_user_id(),tpd.getToken_password(),tpd.getCertificate_no(),tpd.getCertificate_issue_date(),tpd.getCertificate_expiry_date(),
            tpd.getFixed_ip_address(),tpd.getRef_no(),tpd.getForm_type(),tpd.getOriginal_application_recieving_date(),
            tpd.getScanned_application_recieving_date(),tpd.getResidential_address(),tpd.getStaff_status(),
            tpd.getEmail_id(),tpd.getEnrollment_no(),tpd.getDispatch_no(),tpd.getFixed_ip_address(),tpd.getRefId(),tpd.getDeactivated_on(),});


}
EN

回答 1

Stack Overflow用户

发布于 2016-05-18 15:45:42

您的数据库表有15列,而您正尝试在该行中插入16个值。如果我是你,我会整理你的查询的格式(例如每行一个值),这样你就可以更好地看到哪个值是不匹配的。

最好改用NamedParameterJdbcTemplate;这允许您显式地匹配列值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37268938

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档