2017-10-03 3 views
0
try{ 
    String query="insert into result(std_id,exam_id,date,score,status) values(?,?,?,?,?);"; 
    PreparedStatement pstmt=DatabaseConnector.getPreparedStatement(query); 
    pstmt.setInt(1,rd.getStd_id()); 
    pstmt.setInt(2,rd.getEx_id()); 
    pstmt.setString(3,rd.getDate()); 
    pstmt.setDouble(4,rd.getScore()); 
    pstmt.setInt(5,rd.getStatus()); 
    **int i=pstmt.executeUpdate();** //error line line 31 
    if(i==1){ 
     result=Results.SUCCESS; 
    } 
    else 
     result=Results.FAILURE; 
} 

パラメータリストが適切と思われるが、それでも上記のエラーを示す(4 5>パラメータの数)範囲外パラメータインデックス....ます。java.sql.SQLException:

+0

あなたのコードは正しくフォーマットされています.... –

+0

「結果」は4つの入力パラメータを受け入れますが、5を渡していることを示しています。 – Assen

+0

実際に実行したコードは間違いですか?私は5つのワイルドカードを見て、コードは少なくとも一目で分かります。 –

答えて

0

あなたの列名"date"は、dateがデータベースのデータ型であるため、あいまい性を生成します。 カラム名を変更して動作します。

+0

はい、これは問題です。 (5>パラメータの数は4です) –

関連する問題