【问题标题】:Getting SQL error SQL State S1009获取 SQL 错误 SQL 状态 S1009
【发布时间】:2017-10-25 03:26:41
【问题描述】:

我正在尝试将值插入表(查询)中,第一个值的类型为 Date ,我收到 SQL 错误 SQL State S1009。转换日期的正确方法是什么,我做错了什么?

String sqlStatement = "INSERT INTO inquiry (INQUIRY_DATE,INQUIRY_NOTE,INQUIRER_ID,PROGRAM_ID,CLASS_ID,CORPORATE_ID)\n"
                + "VALUES (?,?,?,?);";

        ps = con.prepareStatement(sqlStatement);
        java.sql.Date sDate = new java.sql.Date(inquiry.getInquiryDate().getTime());

        int parameterIndex = 1;
        ps.setDate(parameterIndex, sDate);
        ps.setString(parameterIndex++, inquiry.getInquiryNote());
        ps.setInt(parameterIndex++, inquiry.getInquirer().getInquirerID());
        ps.setInt(parameterIndex++, inquiry.getProgramID());
        ps.setInt(parameterIndex++, inquiry.getClassProgramID());
        ps.setInt(parameterIndex++, 1);

【问题讨论】:

    标签: java mysql database date-conversion


    【解决方案1】:
    sqlStatement = "INSERT INTO inquiry (INQUIRY_DATE,INQUIRY_NOTE,INQUIRER_ID,PROGRAM_ID,CLASS_ID,CORPORATE_ID)\n"
                    + "VALUES (?,?,?,?);";
    

    参数化查询没有足够的?,您查询了 6 列,缺少 2 个?,它应该是VALUES (?,?,?,?,?,?); ? 用于保存您的 setXXX() 列值的位置

    【讨论】:

      猜你喜欢
      • 2014-03-22
      • 2013-06-23
      • 1970-01-01
      • 2013-05-30
      • 1970-01-01
      • 2020-01-22
      • 1970-01-01
      • 2013-04-23
      • 1970-01-01
      相关资源
      最近更新 更多