Мой полный проект находится на Github.com/DSkilton.
Я пробовал десятки способов заставить это работать, я читал о путях к классам, используя Class.forName() и не используя его, Xerials JDBC инструкции, который предлагает использовать / вместо экранирования \ для строки пути. Я прочитал некоторые предложения Oracle, Stackoverflow и SQlites руководство о том, как настроить. У меня действительно пытался, чтобы изучить это, но я все еще ничего не понимаю!
Внутри моей папки src находятся следующие папки: контроллер, изображения, библиотека, модель, образец и представление.
В папке контроллера находится databaseConnect.java, а в папке lib — jdbc-api-1.4.jar.
В моем файле databaseConnect у меня есть следующее:
public static void Connection() {
final String connectionUrl = "jdbc:sqlite:D:\\Users\\IdeaProject\\modus\\src\\model\\modus.db";
try {
Connection con = DriverManager.getConnection(connectionUrl);
System.out.println("Connected");
//while(returnStatement.next()) {
//System.out.println("rs.getString");
//}
} catch (SQLException e) {
e.printStackTrace();
}
Ошибка, которую я получаю:
java.sql.SQLException: No suitable driver found for jdbc:sqlite:D:\\Users\\Duncan Skilton\\IdeaProject\\modus\\src\\model\\modus.db
at java.sql.DriverManager.getConnection(DriverManager.java:689)
at java.sql.DriverManager.getConnection(DriverManager.java:270)
at controller.databaseConnect.Connection(databaseConnect.java:16)
at sample.Main.main(Main.java:28)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:389)
at com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:328)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:767)
Процесс завершен с кодом выхода -1
Все, что вы можете предложить, будет оценено по достоинству!




Вам не хватает Driver для ваших dbms. Добавьте это в свой pom.xml при использовании maven:
<dependency>
<groupId>org.xerial</groupId>
<artifactId>sqlite-jdbc</artifactId>
<version>3.25.2</version>
</dependency>
или это
implementation 'org.xerial:sqlite-jdbc:3.25.2'
к вашему build.gradle при использовании gradle.
P.S. Я тоже не думаю, что адрес правильный. Вы не передаете URL-адрес файла на свой диск, найдите несколько примеров URL-адресов для sqlite в Интернете.
Блестяще, спасибо! Я посмотрю, как добавить Gradle в свой проект :) Я отчитаюсь