-1

これは私の編集したコードです...

         java.sql.Timestamp sqlNow = new java.sql.Timestamp(new java.util.Date().getTime());

                stmt = con.createStatement();
    //stmt.executeUpdate("INSERT INTO cregn values('"+appno+"','"+usname+"','"+upwd +"','"+fname+"','"+mname+"','"+lname+"','"+dob+"','"+gend+"','"+faname+"','"+saddr+"','"+caddr+"','"+staddr +"','"+pin+"','"+cno+"','"+email+"','"+occ+"','"+secques+"','"+answer+"','Processing','"+sqlNow+"')");
                pst = con.prepareStatement("INSERT INTO cregn (aplno, username, pwd, firstname,middlename,lastname, dob,gender, fathername, street,city,state, pincode, phone, email,occupation,secques,answer,dor)  VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");

                pst.setInt(1, appno);
                pst.setString(2, usname);
                pst.setString(3, upwd);
                pst.setString(4, fname);
                pst.setString(5, mname);
                pst.setString(6, lname);
                pst.setString(7, dob);
                pst.setString(8, gend);
                pst.setString(9, faname);
                pst.setString(10, saddr);
                pst.setString(11, caddr);
                pst.setString(12, staddr);
                pst.setString(13, pin);
                pst.setString(14, cno);
                pst.setString(15, email);
                pst.setString(16, occ);
                // pst.setString(17,ph);
                pst.setString(17, secques);
                pst.setString(18, answer);

                pst.setTimestamp(19, sqlNow);

                pst.executeUpdate();

                out.println("Registration Successful for application " + appno);
            } catch (Exception ee) {
                out.println("Invalid Data! All fields are mandatory..." + ee.getMessage());
            }


%>

このコードエラーを実行した後、「無効なデータ!すべてのフィールドは必須です..データの切り捨て」が表示されました

4

4 に答える 4

3

ステートメントを実行していません。

executeUpdate を呼び出す必要があります

于 2013-03-25T08:50:15.720 に答える
2

実際に作業を行うには、電話executeまたはexecuteUpdateオンにする必要があります。pstたとえば、最後に:

pst.executeUpdate();

あなたが示したコードが行うことは、実行のためにステートメントを準備することだけであり、実行しません。PreparedStatementこれは、との主な違いの 1 つですStatement。ではStatement、実行する SQL を に直接渡しますexecuteUpdate( を使用してコメントアウトされた行に見られるようにstmt)。を使用してPreparedStatement、行ったように SQL を?指定し、それらのパラメーターを設定してから(または)呼び出しますが、これは行っていません。executeUpdateexecute

于 2013-03-25T08:48:52.273 に答える
0

executeUpdate()呼び出されることはありませんpst

于 2013-03-25T08:48:57.167 に答える
0

を使用pst.executeUpdate();してクエリを実行し、トランザクション内で usesetAutoCommit(true)を呼び出す必要があることを確認します。

于 2013-03-25T09:00:47.110 に答える