2017-05-24 49 views
2

我想插入值到一个表(查询)第一个值的类型日期,我得到一个SQL错误SQL状态S1009。什么是转换日期的正确方法,我做错了什么?获取SQL错误SQL状态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); 

回答

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

参数化查询没有足够的?,你询问6列2 ?失踪,应该是VALUES (?,?,?,?,?,?);?用于举办场所为您的setXXX()列的值