【问题标题】:insert error in mysql在mysql中插入错误
【发布时间】:2013-12-30 11:34:34
【问题描述】:

我写了下面的代码!我想我在连接到 db 时遇到问题!正确的?我无法将数据插入数据库!问题出在哪里?我该如何解决?

这是一个例子:

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { 

    String uname = jTextField1.getText();
    String pass =  jTextField2.getText();
    String fname = jTextField3.getText();
    String lname = jTextField4.getText();
    String gender = (String) COMBOgender.getSelectedItem();
    String address = jTextArea1.getText();
    String email = jTextField5.getText(); 
    try
    {

    //Class.forName("com.mysql.jdbc.Driver");
    con = DriverManager.getConnection("jdbc:mysql://localhost:3306/JEREN","root","");
    Statement stat = con.createStatement();

    String insert = "insert into tbl_User (username,password,firstname,surname,gender,address,mail_address) VALUES ('"+uname+"','"+pass+"','"+fname+"','"+lname+"','"+gender+"','"+address+"','"+email+"')";

    stat.executeUpdate(insert);
    //stat.close();
    //con.close();
    JOptionPane.showMessageDialog(null,"Inserted Successfully!");

    }
    catch (SQLException | HeadlessException e)
    {
        JOptionPane.showMessageDialog(null,"Error occurred in inserting data");
    }

    ;// TODO add your handling code here:
}  

【问题讨论】:

  • 您遇到任何错误?
  • 从 Class.forName() 中移除 cmets 并关闭语句
  • 在执行更新后调用 con.commit()
  • catch() 内阻止e.printStackTrace() 并将该错误粘贴到上面的帖子中。
  • 请使用 PreparedStatement。您创建插入 sql 的方式不安全!

标签: java mysql netbeans


【解决方案1】:

从这里下载 MySQL Java 驱动程序。 http://dev.mysql.com/downloads/connector/j/5.0.html

提取存档并获取 .jar 文件。在 NetBeans IDE 中,转到项目资源管理器窗口,右键单击项目名称下的库,然后选择添加 Jar/Folder。选择刚刚解压的 .jar 文件。

然后,如下修改你的代码。

Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/JEREN","root","");
Statement stat = con.createStatement();

...

stat.close();
con.close();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-01
    • 2011-08-12
    • 2013-06-17
    • 2016-07-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多