java - 与使用 ArrayList 插入数据库值相关的 SQLException

标签 java prepared-statement sqlexception

我是java新手,正在尝试开发小型swing应用程序,我有查询模型类,其中包含getter、setter和构造,并且我还在JFrame中获取用户输入。

运行此代码时,我收到此错误java.sql.SQLException:当前语句的至少一个参数未初始化”。

  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();
         }
    }
}

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

最佳答案

您没有设置任何值

        String sq = "INSERT INTO INQUIRY (IN_ID,IN_TITLE,IN_MSG,IN_DATE)VALUES(?,?,?,?)";
        PreparedStatement pr = con.prepareStatement(sq);

        // set values here
        pr.executeUpdate();

关于java - 与使用 ArrayList 插入数据库值相关的 SQLException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39462040/

相关文章:

java - 在方法之间重用 PreparedStatement?

.net - 当需要进行模拟和单元测试时,如何抛出 SqlException?

java - PSQLException 未被捕获

java - 生成器模式和继承

java - 尽管设置了正确的环境变量,Ant 仍在错误的目录中查找

java - Gradle:构建jar时无法创建目录

mysql - 在mysql动态存储过程中,是否需要@var来构建准备好的语句?

postgresql - 应用程序中非常不同的查询运行时间

Java SQLException 根据errorcode分开

java - 如何检查集合是否包含 Scala 中其他集合的任何元素?