SQLException与使用ArrayList插入数据库值有关

时间:2016-09-13 04:03:12

标签: java prepared-statement sqlexception

我刚接触java并尝试开发小型摇摆应用程序,我有查询模型类,其中包含getter和setter以及构造,并且我在JFrame中获得用户输入。

我收到此错误java.sql.SQLException: At least one parameter to the current statement is uninitialized"运行此代码时。

  public class MakeAndReply_Inquiry {

   String IN_ID=null;
   String IN_TITLE=null;
   String IN_MSG=null;
   Date IN_DATE;

    Connection con;
    public void InsertInquiryToDB(ArrayList<Inquiry> arrlist){
        try {
        DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
         IN_DATE = new Date();
        System.out.println(dateFormat.format(IN_DATE)); //2014/08/06 15:59:48
        Iterator<Inquiry> iter = arrlist.iterator();
            while(iter.hasNext())
            {
            Inquiry inq = iter.next();
              IN_ID=inq.getIn_id();
              IN_TITLE=inq.getIn_Title();
              IN_MSG=inq.getIn_Msg();
            }
            con = new DBConnector().connect();
            System.out.println("nside insert inq Method "+IN_ID +IN_TITLE+IN_MSG);
            String sq = "INSERT INTO INQUIRY (IN_ID,IN_TITLE,IN_MSG,IN_DATE)VALUES(?,?,?,?)";
            PreparedStatement pr = con.prepareStatement(sq);
            pr.executeUpdate();

         } catch (SQLException ex) { ex.printStackTrace();
         }
    }
}

有人可以帮我解决这个问题。

1 个答案:

答案 0 :(得分:2)

您没有在

中设置任何值
        String sq = "INSERT INTO INQUIRY (IN_ID,IN_TITLE,IN_MSG,IN_DATE)VALUES(?,?,?,?)";
        PreparedStatement pr = con.prepareStatement(sq);

        // set values here
        pr.executeUpdate();