Java SQLite Select 查询

Java SQLite Select Query

我正在尝试完成我的 Java 代码以执行 SELECT 查询,将结果写入系统输出。

这是我的代码:

public void PullFromDB() {

    Connection c = null;
    Statement stmt = null;
    try {
        Class.forName("org.sqlite.JDBC");
        c = DriverManager.getConnection("jdbc:sqlite:test.db");
        c.setAutoCommit(false);

        String sql = "SELECT * FROM " + Name + ";";
        stmt = c.createStatement();
        ResultSet rs = stmt.executeQuery(sql);

        System.out.println(sql);

        while (rs.next()) {

            Integer ID = rs.getInt("id");
            System.out.println("ID = " + ID.toString());

            String entry = rs.getString(Properties.get(j));
            System.out.println(Properties.get(j) + "=" + entry);
            j++;

        }

        rs.close();
        stmt.close();
        c.close();
    } catch (Exception e) {
        System.err.println(e.getClass().getName() + ": " + e.getMessage());
        System.exit(0);
    }

}

当我系统输出我的 SQL 查询时,它看起来像这样:

CREATE TABLE IF NOT EXISTS Cars(ID INTEGER PRIMARY KEY AUTOINCREMENT,AnzSitze TEXT,Marke TEXT,Pferdestärke TEXT);

INSERT INTO Cars(AnzSitze,Marke,Pferdestärke) VALUES('vier','Audi','420');

SELECT * FROM Cars;

这些只是我放入的一些示例。

可能创建和 propabley 插入失败,我在文件名中看到 none-ascii 字符 Pferdestärke 尝试使用有效名称

check this

Permitted characters in unquoted identifiers:

ASCII: [0-9,a-z,A-Z$_] (basic Latin letters, digits 0-9, dollar, underscore)

Extended: U+0080 .. U+FFFF

所以将所有qrys中的文件名Pferdestärke替换为Pferdestarke并重试