2016-05-08 6 views
0

データベースにレコードを追加しようとしています。私はこの機能で間違いを見つけることができません。誰でも助けることができますか?java msqlレコードをテーブルに挿入

public static void insertTable(int idEmployee , String First_Name , String Last_Name , String Password , int Sex , String Mail , int Employee_idEmployee) throws Exception { 

     Connection conn = (Connection) getConnection() ; 
     try { 
      PreparedStatement insertStatement = (PreparedStatement) conn.prepareStatement("INSERT INTO employee (?,?,?,?,?,?,?) VALUES (?,?,?,?,?,?,?)"); 
      insertStatement.setInt(1, idEmployee); 
      insertStatement.setString(2, First_Name); 
      insertStatement.setString(3, Last_Name); 
      insertStatement.setString(4, Password); 
      insertStatement.setInt(5, Sex); 
      insertStatement.setString(6, Mail); 
      insertStatement.setInt(7 ,Employee_idEmployee); 

      insertStatement.close(); 
      conn.close() ; 

      System.out.println("it's ok"); 

     } catch (SQLException e) { 

      System.out.println(e.getMessage()); 

     }  
    } 

メイン

insertTable(4 , "test" , "test" , "test" , 1 , "test" , 4);   

これはPrtScをテーブルです:

enter image description here

+0

疑問符の最初のグループに対して疑問符の代わりに列名を指定する必要があります –

+0

「INSERT INTO employee(?、?、?、?、?、?、?)」から '?'ここで '? 'の代わりに列名を追加する必要があります。 –

答えて

0

は修正の一部であるのに役立ちます。

あなたはまだあなたが私は考えることができるinsertStatement.execute();コール

+0

ありがとう!プログラムはまだ動作していませんが、今私はエラーがあるので、より良いです –

+0

あなたのセックスコラムがBOOLとして指定されているためですか? –

+0

この列はokejですが、私の問題は外部キーであったが、今はevrythingがokejです!もう一度男に感謝!あなたはとても役に立ちました –

0

ああ、私はあなたのエラーが何であるかを見つけたと思います。

代わりに、次の:

"INSERT INTO employee (?,?,?,?,?,?,?) VALUES (?,?,?,?,?,?,?)" 

この

"INSERT INTO employee (Your DB Variables)VALUES (?,?,?,?,?,?,?)" 

例を試してみて、これは私が使用している "DB" は、2つの変数(名前、ID) 文字列名 int型を持っている されますID

PreparedStatement insertStatement = (PreparedStatement) conn.prepareStatement("INSERT INTO DB (Name,ID) VALUES (?,?)"); 
insertStatement.setString(1,Name); 
insertStatement.setInt(2,ID); 
insertStatement.execute(); 
System.out.println("Success!"); 

DB変数は、変数/列名を。に入れます。疑問符は、変数のみを使用するためのものです。

私はあなたがucanaccessを使用していると仮定していますか?

私に教えてください!

希望これは、カラム名を指定

0

唯一の他の事何があなたのデータ・タイプではありません持って実行行に

が欠落しています。私はmsアクセスDBで同じ問題を抱えていました。データタイプを確認してください。

関連する問題