通过eclipse在java中连接SQLite

时间:2014-07-14 13:16:43

标签: java eclipse sqlite

您好,我目前刚接触编程,并且我试图在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)

非常感谢提前。

2 个答案:

答案 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()的调用。