2016-04-01 20 views
0

JDBCを使用してjavadbにデータを保存しようとしました。 エラーが発生しました。割り当てられた値の数が、指定された列または暗黙の列の数と同じではありません

エラーが発生しました:割り当てられた値の数が、指定された列または暗黙の列の数と同じではありません。

これは私のJDBCコードです:

try { 
    //loading driver 

    Class.forName("org.apache.derby.jdbc.EmbeddedDriver"); 

    //creating connection with the database 
    Connection con = DriverManager.getConnection("jdbc:derby://localhost:1527/sample", "app", "app"); 

    PreparedStatement ps = con.prepareStatement("insert into Student values(?,?,?,?,?)"); 

    ps.setString(1, Title); 
    ps.setString(2, Artist); 
    ps.setString(3, Country); 
    ps.setString(4, Price); 
    ps.setString(5, Year); 
    int i = ps.executeUpdate(); 
    if (i > 0) { 
     out.println("You are sucessfully register"); 
    } 
} catch (Exception se) { 
    out.println("Error Occured : \n" + se.getLocalizedMessage()); 
    se.printStackTrace(); 
} 
+0

エラーメッセージのどの部分がわかりませんでしたか? – BalusC

答えて

2

あなたは挿入にしようと列を指定していませんでした。 SQLでは、テーブルStudentに定義されている各列を追加することができます。 私は、あなたの挿入ステートメントの値よりも多くの列がスチューデントテーブルにあると仮定します。それがエラーの発生場所です。

明示的に値を挿入する列を定義します。

insert into Student (Col1,Col2,Col3,Col4,Col5) values (?,?,?,?,?) 

他のすべての列がオプションまたは自動生成されている場合は、そのように動作します。それ以外の場合は、どの列が欠落しているかを示す別のエラーが表示されます。

関連する問題