我正在尝试完成我的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
,然后重试