繁体   English   中英

无法连接到SQLite数据库

[英]Can't connect to a SQLite database

try {
con = DriverManager.getConnection("jdbc:sqlite:db/Freepark.sqlite");
} catch (SQLException e) {
// TODO Auto-generated catch block
System.out.println("error al buscar la base de datos");
}

我正在尝试在SQL数据库上进行第一个查询,但连接时遇到问题,我认为问题肯定是URL,项目名称是BaseTest,并且在项目文件夹中有一个名为DB的子文件夹,并且在其中Freepark.sqlite。 当我运行项目时,出现println消息,因此我知道问题出在URL。 在此代码示例上方已经完成了诸如class.forName之类的工作。

为什么不尝试使用相对路径\\来输入名称,例如:db \\ Freepark.sqlite

或尝试放置sqlite文件的完整路径。

您还包括在语句之前为sqlite启用驱动程序,例如:

 Class.forName("SQLite.JDBCDriver").newInstance(); 

要么

 Class.forName("org.sqlite.JDBC"); 

使用这个例子

导入java.sql。*;

公开课测试{

公共静态void main(String [] args)引发异常{

Class.forName("org.sqlite.JDBC");

Connection conn = DriverManager.getConnection("jdbc:sqlite:test.db");

Statement stat = conn.createStatement();

stat.executeUpdate("drop table if exists people;");

stat.executeUpdate("create table people (name, occupation);");

PreparedStatement prep = conn.prepareStatement(
  "insert into people values (?, ?);");

prep.setString(1, "Gandhi");
prep.setString(2, "politics");
prep.addBatch();
prep.setString(1, "Turing");
prep.setString(2, "computers");
prep.addBatch();
prep.setString(1, "Wittgenstein");
prep.setString(2, "smartypants");
prep.addBatch();

conn.setAutoCommit(false);
prep.executeBatch();
conn.setAutoCommit(true);

ResultSet rs = stat.executeQuery("select * from people;");
while (rs.next()) {
  System.out.println("name = " + rs.getString("name"));
  System.out.println("job = " + rs.getString("occupation"));
}
rs.close();
conn.close();

}

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM