【问题标题】:Connecting SQLite in java via eclipse通过eclipse在java中连接SQLite
【发布时间】:2014-09-04 10:07:20
【问题描述】:

您好,我目前是编程新手,我正在尝试用 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)

非常感谢。

【问题讨论】:

标签: java eclipse sqlite


【解决方案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() 的调用。

【讨论】:

  • 这有助于解决它,谢谢。我还可以在终端窗口上打印出数据库中的信息。我目前在打印存储在数据库中的图像时遇到问题。有什么帮助吗?
  • 您应该提出一个新问题并为此问题提供更多信息。
【解决方案2】:

您的程序无法找到合适的驱动程序来连接到数据库。因此,给你一个ClassNotFoundException

另外,检查数据库地址是否正确。我不记得将.sqlight 视为数据库文件扩展名。

【讨论】:

    猜你喜欢
    • 2018-04-13
    • 2020-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-31
    • 1970-01-01
    • 2014-02-23
    • 1970-01-01
    相关资源
    最近更新 更多