Java SQLite选择查询



我正在尝试完成我的Java代码,以执行一个SELECT查询,该查询将把结果写入Sysout。

这是我的代码:

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插入失败,我在文件名Pferdestärke中没有看到ascii字符,尝试使用有效名称

检查这个

不带引号的标识符中允许的字符:

ASCII:[0-9,a-z,a-z$_](基本拉丁字母,数字0-9,美元,下划线)

扩展:U+0080。。U+FFFF

因此在所有qry中将文件名Pferdestärke替换为Pferdestarke,然后重试

相关内容

  • 没有找到相关文章

最新更新