2016-08-21 24 views
-2

データベースを接続していてもボタンアクションのデータベース内で使用しましたが、情報はデータベースのテーブルの中には入っていません。NetbeansのJDBCを使用してmysqlデータベースにデータを挿入できません

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { 
    PreparedStatement ps = null; 
    try { 
     Class.forName("com.mysql.jdbc.Driver"); 
     Connection conn = DriverManager.getConnection("jdbc:mysql://localhoast:3306//a","root","root"); 
     Statement smt = conn.createStatement(); 
     ps = conn.prepareStatement("insert into aone values (?,?,?)"); 

     String n = name.getText(); 
     String a = age.getText(); 
     String r = roll.getText(); 

     ps.setString(1,n); 
     ps.setString(2,a); 
     ps.setString(3,r); 

     int i = ps.executeUpdate(); 

     if (i>0) { 
      JOptionPane.showMessageDialog(null, "data is saved"); 
     } 
     else { 
      JOptionPane.showMessageDialog(null, "error"); 
     }   
    } 

    catch(Exception e) { 

    } 
}        
+0

あなたはそれがデシベルでないと判断するにはどうすればよいです。より具体的で具体的な質問をしてください。 –

答えて

1

スタックトレースをキャッチブロックに印刷します。 JVMが例外を投げているかもしれませんが、あなたはこれを決して知らないでしょう。

これを実行すると、JDBCが "localhast"に接続できなかったというメッセージが表示されます。

「localhoast」が正しいとは思えません。 "localhost"を試してください。

  1. はUIとデータベースのコードを混ぜるべきではない:

    は、このコードの間違ったので、多くのものがあります。

  2. リクエストごとにJDBC接続を取得しないでください。プールを使用する。
  3. コードは階層化されていません。テストするのは難しい。
  4. メソッドスコープ内のJDBCリソースをクローズしません。

このようにそれを試してみてください。

private void jButtonActionPerformed(java.awt.event.ActionEvent evt) { 
     Connection conn = null; 
     PreparedStatement ps = null; 
     try { 
      Class.forName("com.mysql.jdbc.Driver"); 
      Connection conn =   DriverManager.getConnection("jdbc:mysql://localhost:3306/a","root","root"); 
      ps = conn.prepareStatement("insert into aone values (?,?,?)"); 

      String n = name.getText(); 
      String a = age.getText(); 
      String r = roll.getText(); 

      ps.setString(1,n); 
      ps.setString(2,a); 
      ps.setString(3,r); 

      int i = ps.executeUpdate(); 

      if (i > 0) { 
       JOptionPane.showMessageDialog(null, "data is saved"); 
      } else { 
       JOptionPane.showMessageDialog(null, "error"); 
      }   
     } catch(Exception e) { 
      e.printStackTrace(); 
     } finally { 
      close(ps); // You need to implement this 
      close(conn); // You need to implement this 
     } 
    } 
+0

データベース名 'a'は2つのスラッシュ'/'の後ろにあります。これはうまくいかない - 接続文字列が間違っている! –

+0

私が見るスラッシュは正しいです。彼らは編集されましたか? – duffymo

+0

申し訳ありませんが、私はOPの質問にお答えしました! –

関連する問題