我刚开始使用sqlite而且我遇到了一个奇怪的(也许只是为了我)现象。当我在java中连接testDB.db文件,并进行一个或一些查询时,数据和表本身就消失了。 consol说SQL错误或缺少数据库,当我在cmd中检查数据库文件时,情况确实如此;文件中没有数据。有人可以帮我解决这个基本问题吗? (我想这只是因为我对这个主题缺乏了解,但我对新信息持开放态度)
public class jdbcTest{
public static void main(String[] strg) {
Connection connection = null;
try {
connection = DriverManager.getConnection("jdbc:sqlite:C:\\Users\\Username\\Documents\\sqlite\\testDB");
Statement statement = connection.createStatement();
statement.setQueryTimeout(30);
//statement.executeUpdate("drop table if exists person");
ResultSet rs = statement.executeQuery("select * from company");
while (rs.next()){
System.out.print("id = "+rs.getInt("id")+" ");
System.out.println("name = "+rs.getString("name"));
}
}
catch (SQLException e) {
System.err.println(e.getMessage());
}
finally {
try {
if (connection!=null){
connection.close();
}
}
catch (SQLException e){
System.err.println(e);
}
}
}
}
答案 0 :(得分:0)
当打开一个不存在的数据库文件时,SQLite会很乐意创建一个新的空文件。
您提供给getConnection
的文件名实际上并不指向您保存的数据库。