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消息出现,所以我知道问题是网址。像class.forName这样的东西已经在这个代码示例上面完成了。
答案 0 :(得分:1)
为什么不尝试使用相对路径输入名称\ like:db \ Freepark.sqlite
或者也尝试放入sqlite文件的完整路径。
您还要在语句之前包括启用sqlite的驱动程序,例如:
Class.forName("SQLite.JDBCDriver").newInstance();
或
Class.forName("org.sqlite.JDBC");
答案 1 :(得分:0)
使用此示例
import java.sql。*;
公共课测试{
public static 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();
}
}