Проблемы с базой данных Derby, использующей графический интерфейс

Я задаю этот вопрос, потому что я не смог найти аналогичный вопрос. Я недавно закончил этот проект для колледжа, где я создал консольное приложение, которое подключалось к базе данных, и все казалось идеально. Метод, который я использовал для подключения к базе данных:

  private static Connection getConnection()
   {
       Connection connection = null;

       try   
      {
          String dbDirectory = "c:/murach/java/db";
          System.setProperty("derby.system.home", dbDirectory);


        String dbURL = "jdbc:derby:MurachDB2";
        String username = "";
        String password = "";
        connection = DriverManager.getConnection(dbURL, username, password);
        System.out.println("connect works");
        return connection;
      } //end try connection statement

      catch (SQLException e)
    {
        for (Throwable t : e)
        {
            e.printStackTrace();
            System.out.println("something went wrong on connection method");
        } //end for loop for errors
    } // end catch statement for connection error


    return connection;
   } 

Как я уже говорил, я создал консольное приложение, и все выглядело нормально, и я его включил. Однако я хотел поэкспериментировать с чем-то, я хотел сделать другую версию этого приложения, вместо этого приложение с графическим интерфейсом, использующее Jform. Я использовал все те же классы, что и раньше, за исключением того, что вместо основного класса я использовал jform. Метод и класс абсолютно одинаковы, потому что база данных не меняла расположения в моей папке, однако, когда я запускаю ее в приложении Jform, я получаю ошибку во время выполнения.

Что это была ошибка с нулевой точкой, и я знал, что это как-то связано с подключением к базе данных, потому что я написал System.out.Println в исключении catch SQL, чтобы уведомить, что с методом что-то пошло не так. Соединение с базой данных хорошо с консольным приложением, но мой вопрос, есть ли какие-либо дополнительные меры, которые мне нужно предпринять, когда дело доходит до работы с приложением JFrame. Есть ли что-то, что я пропускаю или есть какой-то дополнительный шаг, который мне нужно сделать. Для дальнейших мер я покажу весь класс, который работает с базой данных, а также буду использовать обработчики событий в Jframe.

Я хочу прояснить это, в котором я не обязан это делать. Я просто играю с Java, и я мог бы легко оставить это в покое без последствий, но я чувствую, что действительно хочу изучить это, поэтому я прошу о помощи. Любой совет или если кто-то из вас может сообщить, что мне не хватает, я был бы очень признателен.

редактировать

добавление информации об ошибке

    >java.sql.SQLException: No suitable driver found for jdbc:derby:MurachDB2
something went wrong on connection method
java.lang.NullPointerException
something went from with dislay part
    at java.sql.DriverManager.getConnection(DriverManager.java:689)
    at java.sql.DriverManager.getConnection(DriverManager.java:247)
    at CustomerInvoiceDB.getConnection(CustomerInvoiceDB.java:38)
    at CustomerInvoiceDB.getCustomers(CustomerInvoiceDB.java:67)
    at CutomerInvoice.displayButtonActionPerformed(CutomerInvoice.java:111)
    at CutomerInvoice.access$000(CutomerInvoice.java:24)
    at CutomerInvoice$1.actionPerformed(CutomerInvoice.java:57)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
    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:6533)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
    at java.awt.Component.processEvent(Component.java:6298)
    at java.awt.Container.processEvent(Container.java:2236)
    at java.awt.Component.dispatchEventImpl(Component.java:4889)
    at java.awt.Container.dispatchEventImpl(Container.java:2294)
    at java.awt.Component.dispatchEvent(Component.java:4711)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
    at java.awt.Container.dispatchEventImpl(Container.java:2280)
    at java.awt.Window.dispatchEventImpl(Window.java:2746)
    at java.awt.Component.dispatchEvent(Component.java:4711)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
    at java.awt.EventQueue.access$500(EventQueue.java:97)
    at java.awt.EventQueue$3.run(EventQueue.java:709)
    at java.awt.EventQueue$3.run(EventQueue.java:703)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
    at java.awt.EventQueue$4.run(EventQueue.java:731)
    at java.awt.EventQueue$4.run(EventQueue.java:729)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
    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)

0 ответов

Другие вопросы по тегам