###前提・実現したいこと
データ登録する際にエラーが発生しました。
###発生している問題・エラーメッセージ
java.sql.SQLException: No value specified for parameter 9 at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:987) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:982) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:927) at com.mysql.jdbc.PreparedStatement.checkAllParametersSet(PreparedStatement.java:2566) at com.mysql.jdbc.PreparedStatement.fillSendPacket(PreparedStatement.java:2542) at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2389) at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2333) at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2318) at exercise_jdbc_kihon_enshu_combineRegist.SendSqlOrder.sendSqlOrder(SendSqlOrder.java:82) at exercise_jdbc_kihon_enshu_combineRegist.ReadFile.csv_read(ReadFile.java:44) at exercise_jdbc_kihon_enshu_combineRegist.FileChooser.fileChooser(FileChooser.java:42) at exercise_jdbc_kihon_enshu_combineRegist.UI$2.actionPerformed(UI.java:81) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236) at java.awt.Component.processMouseEvent(Component.java:6297) at javax.swing.JComponent.processMouseEvent(JComponent.java:3275) at java.awt.Component.processEvent(Component.java:6062) at java.awt.Container.processEvent(Container.java:2039) at java.awt.Component.dispatchEventImpl(Component.java:4660) at java.awt.Container.dispatchEventImpl(Container.java:2097) at java.awt.Component.dispatchEvent(Component.java:4488) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4575) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4236) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4166) at java.awt.Container.dispatchEventImpl(Container.java:2083) at java.awt.Window.dispatchEventImpl(Window.java:2489) at java.awt.Component.dispatchEvent(Component.java:4488) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:674) at java.awt.EventQueue.access$400(EventQueue.java:81) at java.awt.EventQueue$2.run(EventQueue.java:633) at java.awt.EventQueue$2.run(EventQueue.java:631) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98) at java.awt.EventQueue$3.run(EventQueue.java:647) at java.awt.EventQueue$3.run(EventQueue.java:645) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87) at java.awt.EventQueue.dispatchEvent(EventQueue.java:644) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
###該当のソースコード
java
1package exercise_jdbc_kihon_enshu_combineRegist; 2 3import java.sql.Connection; 4import java.sql.DriverManager; 5import java.sql.PreparedStatement; 6import java.sql.SQLException; 7import java.sql.Timestamp; 8import java.util.Iterator; 9import java.util.List; 10 11import javax.swing.JOptionPane; 12 13public class SendSqlOrder { 14 15 public SendSqlOrder() { 16 // TODO 自動生成されたコンストラクター・スタブ 17 } 18 19 public static void main(String[] args) { 20 21 } 22 23 public void sendSqlOrder(List<FileDataAccount> ListfileData) { 24 25 int sqlExeRstCnt = 0; 26 int total_sqlExeRstCnt =0; 27 Connection con = null; 28 PreparedStatement pstmt = null; 29 30 try { 31 // ①JDBCドライバのロード 32 // JDBCドライバを読み込む。Classクラスの静的メソッドでJDBCドライバをロードする(JDBC 33 // DRIVER登録) 34 35 Class.forName("com.mysql.jdbc.Driver"); 36 // 2. MySQLデータベースへの接続取得・引数の設定 37 // ドライバーマネージャーからデータベースへ接続 38 String url = "jdbc:mysql://localhost/witc_si_kenshu?user=root&password=root"; 39 con = DriverManager.getConnection(url); 40 41 // トランザクション設定>自動コミット解除 42 con.setAutoCommit(false); 43 44 StringBuilder sbrSql = new StringBuilder(); 45 46 // 4.SQL文構築 47 for (Iterator<FileDataAccount> vrb_ite = ListfileData.iterator(); vrb_ite.hasNext();) { 48 49 FileDataAccount vrb_FileDataAccount = vrb_ite.next(); 50 sbrSql.append("INSERT IGNORE INTO"); 51 sbrSql.append(" AUTHENTICATION_ACCOUNT("); 52 sbrSql.append(" AUTH_USER_ID,AUTH_USER_NAME,AUTH_PASSWORD,AUTH_USER_LVL,AUTH_DEPT_CD,AUTH_DELETE_FLG,CREATE_DATE,CREATE_USER"); 53 sbrSql.append(")"); 54 sbrSql.append(" VALUES("); 55 sbrSql.append("?"); 56 sbrSql.append(",?"); 57 sbrSql.append(",?"); 58 sbrSql.append(",?"); 59 sbrSql.append(",?"); 60 sbrSql.append(",?"); 61 sbrSql.append(",?"); 62 sbrSql.append(",?"); 63 sbrSql.append(")"); 64 65 // 4-1 connectionへのSQL文 66 pstmt = con.prepareStatement(sbrSql.toString()); 67 68 // 4-2 SQL文への値設定 69 70 pstmt.setString(1, vrb_FileDataAccount.getAuth_user_id()); 71 pstmt.setString(2, vrb_FileDataAccount.getAuth_user_name()); 72 pstmt.setString(3, vrb_FileDataAccount.getAuth_password()); 73 pstmt.setString(4, vrb_FileDataAccount.getAuth_user_lvl()); 74 pstmt.setInt(5, vrb_FileDataAccount.getAuth_dept_cd()); 75 pstmt.setInt(6, vrb_FileDataAccount.getAuth_delete_flg()); 76 pstmt.setTimestamp(7, new Timestamp(System.currentTimeMillis())); 77 pstmt.setString(8,"root"); 78 79 // 5.SQL(問合せ)の実行 80 // 追加・更新・削除の場合:SQLステートメント・executeUpdateメソッドを使用する 81 // SQLの実行結果は件数として返される 82 sqlExeRstCnt = pstmt.executeUpdate(); 83 total_sqlExeRstCnt+=sqlExeRstCnt; 84 85 } 86 87 88 if (total_sqlExeRstCnt > 0) { 89 con.commit(); 90 JOptionPane.showMessageDialog(null, total_sqlExeRstCnt + "件のデータが更新されました。", "更新結果", 91 JOptionPane.INFORMATION_MESSAGE); 92 93 }else{ 94 95 JOptionPane.showMessageDialog(null, "更新失敗しました。", "更新結果", 96 JOptionPane.INFORMATION_MESSAGE); 97 98 99 } 100 101 } catch (Exception ec) { 102 103 try { 104 105 // 8.データ破棄 106 con.rollback(); 107 ec.printStackTrace(); 108 System.out.println("a"); 109 110 } catch (SQLException e) { 111 e.printStackTrace(); 112 } finally { 113 114 try { 115 116 // ステートメントインスタンスがクローズされていない場合、クローズ 117 if (pstmt != null) { 118 // ステートメントインスタンスをクローズ 119 pstmt.close(); 120 } // end if 121 // コネクションインスタンスがクローズされていない場合、クローズ 122 if (con != null) { 123 // 接続をクローズ 124 con.close(); 125 126 } // end if 127 } catch (SQLException e) { 128 e.printStackTrace(); 129 } 130 } 131 } 132 } 133} 134
###補足情報(言語/FW/ツール等のバージョンなど)
java1.6 eclipse
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。