java.sql.SQLException到';路径';不存在
我之所以写这篇文章,是因为我创建了一个简单的登录java.sql.SQLException到';路径';不存在,java,sql,sqlite,error-handling,path,Java,Sql,Sqlite,Error Handling,Path,我之所以写这篇文章,是因为我创建了一个简单的登录GUIApp来测试sqlite数据库,因为我是数据库系统的学生,而且是新手,每当我运行应用程序时,我都会通过eclipse使用java c:user//路径的java.sql.SQLException路径不存在 我在google上搜索了很多,但找不到解决方案在stackoverflow上有一个类似的问题,但没有足够的答案与我的问题相关,我想知道如何更改代码,使应用程序工作并连接到数据库 任何帮助都将不胜感激。谢谢 代码如下: package db
GUI
App来测试sqlite
数据库,因为我是数据库系统的学生,而且是新手,每当我运行应用程序时,我都会通过eclipse使用java
c:user//路径的java.sql.SQLException路径不存在
我在google上搜索了很多,但找不到解决方案在stackoverflow上有一个类似的问题,但没有足够的答案与我的问题相关,我想知道如何更改代码,使应用程序工作并连接到数据库
任何帮助都将不胜感激。谢谢
代码如下:
package dbms;
import java.sql.*;
import javax.swing.*;
public class dbConnection {
Connection conn = null;
public static Connection dbConnector(){
try{
Class.forName("org.sqlite.JDBC");
Connection conn = DriverManager.getConnection("jdbc:sqlite:C:\\Users\\chusm\\workspace\\DBMS\\SQlite\\DBMS.sqlite");
JOptionPane.showMessageDialog(null, "Connection Successful!!!");
return conn;
}
catch(Exception e){
JOptionPane.showMessageDialog(null, e);
return null;
}
}
}
看起来您的url中出现了一些奇怪的空白操作(在“jdbc:sqlite”和“C: 请复制粘贴此代码到您的项目中并运行它(我只删除了奇怪的空白,其余部分与您的代码完全相同)
在catch块内部,执行一行
e.printStackTrace();
并将其发布到此处。这可能有助于调试。@RyanZink no这是从DriverManager
获取连接的正确方法。打开一个IDE并写入字符串x=“”;然后在内部“”粘贴你在上面发布的url的内容,你会注意到我所说的奇怪的空白,看起来像字符串x=“jdbc:sqlite:\u202A\u202A\u202AC:\\\\\Users\\\\chusm\\\\\workspace\\\\\DBMS\\\\sqlite\\\\DBMS.sqlite”;那些看不见的unicode字符是问题现在我明白了,事实上Eclipse不允许我保存或编译程序,并问我是否要使用unicode UTF-8保存它,类似这样的东西,我这样保存它可能会造成问题。非常感谢您宝贵的时间和帮助。]()@Alexandru这就是我要说的。你知道为什么会出现这个错误,它是什么意思吗。这个错误是在我用path语句初始化字符串并运行程序时出现的。我怀疑你复制原始url的地方有奇怪的空格,或者你复制它的文件资源管理器。每当你你会收到这样的信息,这是一个很好的提示,你有不可见的字符,你应该检查新添加的文件。
package dbms;
import javax.swing.*;
import java.io.File;
import java.sql.Connection;
import java.sql.DriverManager;
public class StackOverflowExample {
Connection conn = null;
public static Connection dbConnector() {
try {
Class.forName("org.sqlite.JDBC");
Connection conn = DriverManager.getConnection("jdbc:sqlite:C:\\Users\\chusm\\workspace\\DBMS\\SQlite\\DBMS.sqlite");
JOptionPane.showMessageDialog(null, "Connection Successful!!!");
return conn;
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e);
return null;
}
}
public static void main(String[] args) {
Connection connection = dbConnector();
}
}