这个问题在这里已有答案:
我的完整项目是在Github.com/DSkilton上
我已经尝试了几种方法来实现这一点,我已经读过类路径,使用Class.forName()而不是使用它,Xerials JDBC instructions建议使用/而不是转义\为路径String。我已经阅读了一些关于如何设置的Oracles建议,Stackoverflow和SQlites tutorial。我真的试图研究这个,但我仍然空白!
在我的src文件夹中有以下文件夹:controller,images,lib,model,sample和view。
在controller文件夹中是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结束
你能提出的任何建议都将受到大力赞赏!
你错过了qmsxswpoi你的dbms。使用maven时将其添加到pom.xml:
Driver
或这个
<dependency>
<groupId>org.xerial</groupId>
<artifactId>sqlite-jdbc</artifactId>
<version>3.25.2</version>
</dependency>
使用gradle时的build.gradle。
P.S .:我不认为网址是正确的。你没有将url传递给你的驱动器上的文件,在互联网上找到一些sqlite网址的例子。