2017-03-21 8 views
0

イメージにエラーメッセージを添付しました。余分な目のセットは素晴らしいでしょう。私は、コードやスペルが間違っているとは思えません。com.mysql.jdbc.exceptions.jdbc4。初めてのJavaプロジェクト - 愚かな感じ

これは初めてのnetbeansプロジェクトで、PhPMyAdminにアカウントを登録するためのものです。データベースはjava_dbと呼ばれ、テーブルはAccountと呼ばれます。

Error Message Image

Javaの接続クラス

import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.PreparedStatement; 
import java.sql.ResultSet; 
import java.sql.SQLException; 
import java.sql.Statement; 
import java.sql.*; 
import javax.swing.JOptionPane; 

public class javaconnect { 
    Connection conn; 

    public static Connection Connectdb(){ 
     try { 
      Class.forName("com.mysql.jdbc.Driver"); 
      Connection conn= DriverManager.getConnection("jdbc:mysql://localhost/java_db", "root", ""); 
      return conn; 
     } catch (Exception e) { 
      JOptionPane.showMessageDialog(null, e); 
      return null; 
     } 
    } 
} 

サインアップクラス

import java.sql.*; 
import javax.swing.JOptionPane; 
public class Signup extends javax.swing.JFrame { 

    Connection conn; 
    ResultSet rs; 
    PreparedStatement pst; 
    /** 
    * Creates new form Signup 
    */ 
    public Signup() { 
     super("Login"); 
     initComponents(); 
     conn=javaconnect.Connectdb(); 
    } 

    /** 
    * This method is called from within the constructor to initialize the form. 
    * WARNING: Do NOT modify this code. The content of this method is always 
    * regenerated by the Form Editor. 
    */ 
    @SuppressWarnings("unchecked") 
    // <editor-fold defaultstate="collapsed" desc="Generated Code">       
    private void initComponents() { 

     jPanel1 = new javax.swing.JPanel(); 
     jLabel1 = new javax.swing.JLabel(); 
     jTextField2 = new javax.swing.JTextField(); 
     jLabel2 = new javax.swing.JLabel(); 
     Back = new javax.swing.JButton(); 
     jLabel5 = new javax.swing.JLabel(); 
     jComboBox1 = new javax.swing.JComboBox<>(); 
     create = new javax.swing.JButton(); 
     jLabel4 = new javax.swing.JLabel(); 
     jLabel3 = new javax.swing.JLabel(); 
     jTextField3 = new javax.swing.JTextField(); 
     jTextField4 = new javax.swing.JTextField(); 
     jTextField1 = new javax.swing.JTextField(); 

     setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); 

     jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(255, 0, 0)), "New Account", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 0, 24), new java.awt.Color(255, 0, 0))); // NOI18N 

     jLabel1.setText("Name"); 

     jLabel2.setText("Username"); 

     Back.setText("Back"); 
     Back.addActionListener(new java.awt.event.ActionListener() { 
      public void actionPerformed(java.awt.event.ActionEvent evt) { 
       BackActionPerformed(evt); 
      } 
     }); 

     jLabel5.setText("Answer"); 

     jComboBox1.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "Mothers maiden name?", "Childhood sporting hero?", "Favourite sports team?", "What is your favourite colour?", " " })); 

     create.setText("Create"); 
     create.addActionListener(new java.awt.event.ActionListener() { 
      public void actionPerformed(java.awt.event.ActionEvent evt) { 
       createActionPerformed(evt); 
      } 
     }); 

     jLabel4.setText("Security Question"); 

     jLabel3.setText("Password"); 

     jTextField4.addActionListener(new java.awt.event.ActionListener() { 
      public void actionPerformed(java.awt.event.ActionEvent evt) { 
       jTextField4ActionPerformed(evt); 
      } 
     }); 

     javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1); 
     jPanel1.setLayout(jPanel1Layout); 
     jPanel1Layout.setHorizontalGroup(
      jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
      .addGroup(jPanel1Layout.createSequentialGroup() 
       .addContainerGap() 
       .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) 
         .addComponent(create) 
         .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
          .addComponent(jLabel4) 
          .addComponent(jLabel5) 
          .addComponent(jLabel3))) 
        .addComponent(jLabel1) 
        .addComponent(jLabel2)) 
       .addGap(32, 32, 32) 
       .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) 
         .addComponent(jTextField1) 
         .addComponent(jTextField4) 
         .addComponent(jTextField3) 
         .addComponent(jComboBox1, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 
         .addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, 146, javax.swing.GroupLayout.PREFERRED_SIZE)) 
        .addComponent(Back)) 
       .addContainerGap()) 
     ); 
     jPanel1Layout.setVerticalGroup(
      jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
      .addGroup(jPanel1Layout.createSequentialGroup() 
       .addGap(28, 28, 28) 
       .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 
        .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 
        .addComponent(jLabel2)) 
       .addGap(18, 18, 18) 
       .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 
        .addComponent(jTextField4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 
        .addComponent(jLabel1)) 
       .addGap(18, 18, 18) 
       .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 
        .addComponent(jLabel3) 
        .addComponent(jTextField3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) 
       .addGap(18, 18, 18) 
       .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 
        .addComponent(jLabel4) 
        .addComponent(jComboBox1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) 
       .addGap(18, 18, 18) 
       .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 
        .addComponent(jLabel5) 
        .addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) 
       .addGap(18, 18, 18) 
       .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 
        .addComponent(create) 
        .addComponent(Back)) 
       .addContainerGap()) 
     ); 

     javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); 
     getContentPane().setLayout(layout); 
     layout.setHorizontalGroup(
      layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
      .addGroup(layout.createSequentialGroup() 
       .addGap(35, 35, 35) 
       .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 
       .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) 
     ); 
     layout.setVerticalGroup(
      layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
      .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() 
       .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 
       .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 
       .addGap(21, 21, 21)) 
     ); 

     pack(); 
    }// </editor-fold>       

    private void jTextField4ActionPerformed(java.awt.event.ActionEvent evt) {            
     // TODO add your handling code here: 
    }           

    private void createActionPerformed(java.awt.event.ActionEvent evt) {          
      // TODO add your handling code here: 
      try{ 
       String sql= "Insert into java_db.Account (Username, Name, Password, Sec_Q, Answer) values(?,?,?,?,?"; 
       pst=conn.prepareStatement(sql); 
       pst.setString(1, jTextField1.getText()); 
       pst.setString(2, jTextField2.getText()); 
       pst.setString(3, jTextField3.getText()); 
       pst.setString(4, (String) jComboBox1.getSelectedItem()); 
       pst.setString(5, jTextField4.getText()); 
       pst.execute(); 
       JOptionPane.showMessageDialog(null, "New Account Created"); 
       rs.close(); 
       pst.close(); 
      } catch(Exception e) { 
       JOptionPane.showMessageDialog(null, e); 
      } 
    }          

    private void BackActionPerformed(java.awt.event.ActionEvent evt) {          
     // TODO add your handling code here: 
     setVisible(false); 
     Login ob= new Login(); 
     ob.setVisible(true); 
    }          

    /** 
    * @param args the command line arguments 
    */ 
    public static void main(String args[]) { 
     /* Set the Nimbus look and feel */ 
     //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) "> 
     /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel. 
     * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 
     */ 
     try { 
      for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { 
       if ("Nimbus".equals(info.getName())) { 
        javax.swing.UIManager.setLookAndFeel(info.getClassName()); 
        break; 
       } 
      } 
     } catch (ClassNotFoundException ex) { 
      java.util.logging.Logger.getLogger(Signup.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); 
     } catch (InstantiationException ex) { 
      java.util.logging.Logger.getLogger(Signup.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); 
     } catch (IllegalAccessException ex) { 
      java.util.logging.Logger.getLogger(Signup.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); 
     } catch (javax.swing.UnsupportedLookAndFeelException ex) { 
      java.util.logging.Logger.getLogger(Signup.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); 
     } 
     //</editor-fold> 

     /* Create and display the form */ 
     java.awt.EventQueue.invokeLater(new Runnable() { 
      public void run() { 
       new Signup().setVisible(true); 
      } 
     }); 
    } 

    // Variables declaration - do not modify      
    private javax.swing.JButton Back; 
    private javax.swing.JButton create; 
    private javax.swing.JComboBox<String> jComboBox1; 
    private javax.swing.JLabel jLabel1; 
    private javax.swing.JLabel jLabel2; 
    private javax.swing.JLabel jLabel3; 
    private javax.swing.JLabel jLabel4; 
    private javax.swing.JLabel jLabel5; 
    private javax.swing.JPanel jPanel1; 
    private javax.swing.JTextField jTextField1; 
    private javax.swing.JTextField jTextField2; 
    private javax.swing.JTextField jTextField3; 
    private javax.swing.JTextField jTextField4; 
    // End of variables declaration     
} 
+3

あなたのクエリには最後の括弧がありません: 'values(?、?、?、?」;「 – Berger

+1

何かとても単純です。どうもありがとうございました。 – Patrick

答えて

2

あなたの挿入値をtにa)の

String sql= "Insert into java_db.Account (Username, Name, Password, Sec_Q, Answer) values(?,?,?,?,?"; 

となステートメント閉じるようにしてください彼の

String sql= "Insert into java_db.Account (Username, Name, Password, Sec_Q, Answer) values(?,?,?,?,?)"; 
+0

何かとてもシンプルです。どうもありがとうございました。 – Patrick

関連する問題