java.sql.SQLException:未为参数4指定值

时间:2019-05-02 20:50:42

标签: java jdbc

我在这里有插入MCQ的代码,但是单击提交时,调用下面的方法时出现错误

func doStuff(flag bool) float32 {
    if flag {
        return 1.1
    }
    return 1
}

func main() {
    num1 := doStuff(true)
    num2 := doStuff(false)
    fmt.Println("Num1: ", num1)
    fmt.Println("Num2: ", num2)
}

如何解决这个问题

2 个答案:

答案 0 :(得分:0)

执行st.addBatch()时,必须已经设置 ALL 参数。

代码中不是这种情况,因为在设置[多个]参数#3时,第一个st.addBatch()中尚未设置参数#4。您需要弄清楚那些循环。

答案 1 :(得分:0)

我相信您可以执行以下操作:

public static void add_question(Question question) {
        Connection cnx;
        try {

            cnx = Connect.getConnection();
            cnx.setAutoCommit(false);

            String req = "insert into question(title, contenu, proposition, reponse) values(?,?,?,?)";

            PreparedStatement st = cnx.prepareStatement(req);
            st.setString(1, question.getTitle());
            st.setString(2, question.getContenu());

            for (Proposition prop : question.getListProp()) {
                st.setString(3, prop.getContenu());
            }

            for (Correct corr : question.getReponse()) {
                st.setString(4, corr.getCorrect());
            }
            st.addBatch(); 
            st.executeBatch();
            cnx.commit();
}
相关问题