通过Java注册到Mysql数据库失败

Kostas Drak

您好,我正在创建一个小应用程序,我想在其中注册用户到数据库。看起来不错,但是它告诉我我的驱动程序有问题,我无法发现它。

我的代码:

private void createEventListenerDBProperties() {
        dbSubmitBtn.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {

                    if (dbDriverChooser.getSelectedItem().equals("com.mysql.jdbc.Driver")) {
                        driver = (String) dbDriverChooser.getSelectedItem();
                        port = dbPortField.getText();
                        host = "jdbc:mysql://" + hostField.getText() + ":" + port + "/";
                    } else if (dbDriverChooser.getSelectedItem().equals("oracle.jdbc.driver.OracleDriver")) {
                        driver = (String) dbDriverChooser.getSelectedItem();
                        port = dbPortField.getText();
                        host = "jdbc:oracle:thin:@" + hostField.getText() + ":" + port + ":";
                    } else if (dbDriverChooser.getSelectedItem().equals("org.postgresql.Driver")) {
                        driver = (String) dbDriverChooser.getSelectedItem();
                        port = dbPortField.getText();
                        host = "jdbc:postgresql://" + hostField.getText() + ":" + port + "/";
                    } else {
                        driver = (String) dbDriverChooser.getSelectedItem();
                        host = "jdbc:sqlite:";
                    }
                    db = dbnameField.getText();
                    dbuser = dbUsernameField.getText();
                    dbpassword = new String(dbPasswordField.getPassword());
                    main.remove(dbProperties);
                    main.add(register);
                    main.revalidate();
                }
        });
    }

我的连接方法:

private Connection instanciateDB() {
        Connection con = null;
        try {
            Class.forName(driver).newInstance();
            con = DriverManager.getConnection(host + db, dbuser, dbpassword);
            System.out.println("Connection Established");
        } catch (ClassNotFoundException | SQLException | InstantiationException |IllegalAccessException e) {
            System.out.println("Connection not Established");
            JOptionPane.showMessageDialog(MainFrame.this, e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE);
        }
        return con;
    }

我的注册方法:

private void setupRegisterEventListener() {
        registerBtn.addActionListener((ActionEvent e) -> {

                try {
                    conn = instanciateDB();
                    pst = conn.prepareStatement("insert into usersinfo(username, password) values(?,?)");
                    pst.setString(1, leftFirstText);
                    pst.setString(2, new String(leftSecondText));
                    int x = pst.executeUpdate();
                } catch (SQLException ex) {
                    JOptionPane.showMessageDialog(MainFrame.this, "Registration Failed");
                    System.out.println(ex.getMessage());
                }
                JOptionPane.showMessageDialog(MainFrame.this, "Registration Successful", "Success", JOptionPane.PLAIN_MESSAGE);
        });
    }

它给了我错误com.mysql.jdbc.Driver,我不知道为什么使用instanciateDB方法。

Connection not Established
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at ijae4.xdrako00.MainFrame.lambda$setupRegisterEventListener$0(MainFrame.java:126)
    at ijae4.xdrako00.MainFrame$$Lambda$13/1389133897.actionPerformed(Unknown Source)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2346)
    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
    at java.awt.Component.processMouseEvent(Component.java:6525)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
    at java.awt.Component.processEvent(Component.java:6290)
    at java.awt.Container.processEvent(Container.java:2234)
    at java.awt.Component.dispatchEventImpl(Component.java:4881)
    at java.awt.Container.dispatchEventImpl(Container.java:2292)
    at java.awt.Component.dispatchEvent(Component.java:4703)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4898)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4533)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4462)
    at java.awt.Container.dispatchEventImpl(Container.java:2278)
    at java.awt.Window.dispatchEventImpl(Window.java:2739)
    at java.awt.Component.dispatchEvent(Component.java:4703)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:746)
    at java.awt.EventQueue.access$400(EventQueue.java:97)
    at java.awt.EventQueue$3.run(EventQueue.java:697)
    at java.awt.EventQueue$3.run(EventQueue.java:691)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:86)
    at java.awt.EventQueue$4.run(EventQueue.java:719)
    at java.awt.EventQueue$4.run(EventQueue.java:717)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:716)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

有任何想法吗?

先感谢您!

SummerCode

右键单击库->添加库-> MySql JDBC驱动程序-这些是Netbeans IDE的步骤

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

与MySQL数据库的连接失败

来自分类Dev

JSON数组到MySQL数据库

来自分类Dev

从MySQL数据库到具有XML eport的PHP的法语字符失败

来自分类Dev

无法通过将数据库文件夹复制到数据文件夹来还原MySQL数据库

来自分类Dev

mysql检查mysql数据库中的值失败?

来自分类Dev

插入即时日期时间到MySql数据库在Java中精确到毫秒

来自分类Dev

Java的MySQL数据库查询失败

来自分类Dev

将数据注册到数据库错误

来自分类Dev

通过JDBC连接到Derby数据库失败

来自分类Dev

Facebook数组到MySQL数据库

来自分类Dev

通过Mysql数据库显示信息

来自分类Dev

XML解析到MySQL数据库

来自分类Dev

无法通过Openshift通过mysql数据库登录

来自分类Dev

PHP到MySQL数据库

来自分类Dev

Android数组到mysql数据库?

来自分类Dev

注册表不发送数据到数据库

来自分类Dev

通过Java从MySQL数据库下载BLOB数据

来自分类Dev

数据库字段到MySQL查询

来自分类Dev

Mysql 到 Mysqli 数据库连接

来自分类Dev

PHP 到 MySQL 数据库的连接

来自分类Dev

输入数据库mysql失败

来自分类Dev

无法从 Ubuntu 16.04 中的 Java 程序连接 MYSQL 数据库(通信链接失败)

来自分类Dev

数据库模型(进入和注册到系统)

来自分类Dev

通过ajax和jquery提交表单到数据库

来自分类Dev

通过 binlog 将 MySQL 复制到非 MySQL 数据库的最佳实践

来自分类Dev

通过php将多个文件中的数据插入到mysql数据库中

来自分类Dev

通过 AJAX 将 html 数据从 div 复制到 MySQL 数据库

来自分类Dev

我可以通过java在mysql数据库中以json对象的形式存储数据吗?

来自分类Dev

如何使用Java获取(检索)mysql数据库数据到数组列表并使用索引打印

Related 相关文章

热门标签

归档