您好,我目前刚接触编程,并且我试图在java中连接我的sqlite数据库。我查看了一些youtube视频,并按照他们的说法完成了。
我试图访问此数据库。该数据库有3个字段,名称,生物和图像。我希望能够访问数据库中的信息。
My code:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class Database {
public static void main(String[] args) {
Connection connection = null;
ResultSet resultSet = null;
Statement statement = null;
try {
Class.forName("org.sqlite.JDBC");
connection = DriverManager
.getConnection("jdbc:sqlite:C:\\Users\\Mariam\\Documents\\GoogleApp\\info.sqlight");
statement = connection.createStatement();
resultSet = statement
.executeQuery("SELECT name FROM PeoplesInfo");
while (resultSet.next()) {
System.out.println("NAME:"
+ resultSet.getString("name"));
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
resultSet.close();
statement.close();
connection.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
我目前收到以下错误:
java.lang.ClassNotFoundException: org.sqlite.JDBC
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at Database.main(Database.java:15)
java.lang.NullPointerException
at Database.main(Database.java:29)
非常感谢提前。
答案 0 :(得分:1)
您的程序无法找到合适的驱动程序来连接数据库。因此,给你一个ClassNotFoundException
。
另外,检查数据库地址是否正确。我不记得将.sqlight
视为数据库文件扩展名。
答案 1 :(得分:1)
您似乎没有将驱动程序放在类路径中。在Eclipse中,您可以将jar添加到类路径中,如下所示:
Right click on your project
Choose 'Build Path'
Choose 'Add External Archives...'
Navigate to the jar-file that includes the SQLite JDBC driver and open it
现在应该找到班级org.sqlite.JDBC
。如果您使用的是JDBC 4驱动程序,则可以省略对Class.forName()
的调用。