好的,所以我试图在Sqlite中存储数据。所以我试图用“行”存储用户的ID。然而,似乎哪里条款让我失望。Sqlite查询问题
String query = "SELECT * FROM Users WHERE username='Fellixombc";
ResultSet result = this.sqlStatement.executeQuery(query);
int userId = 0;
while(result.next()) {
System.out.println("TRUE");
userId = result.getInt("id");
System.out.println(result.getString("username"));
}
而且不打印。然而,如果我从查询中删除WHERE子句,它将打印出所有的用户名/ id很好,当然也是“真”。
我缺少一些与Sqlite和它的语法?
编辑:只是为了澄清不存在与1的ID和用户名Fellixombc 编辑用户列用户:所以我把你的人的建议,并试图准备发言,我的继承人现在代码:
PreparedStatement sqlStatement = this.sqlConnection.prepareStatement("SELECT * FROM Users WHERE username=?");
sqlStatement.setString(1, "Fellixombc");
ResultSet result = sqlStatement.executeQuery();
int userId = 0;
while(result.next()) {
System.out.println("TRUE");
userId = result.getInt("id");
System.out.println(result.getString("username"));
}
result.close();
嗯,奇怪的是,当我关闭单引号,还有其他想法时仍然不起作用?是的,我将使用prepareStatement,但首先我想让这个工作。还有:我试图检索用户的ID,我没有插入任何东西。编辑:我试图检索Fellixombc的ID,这应该是1. – Fellixombc
如果你删除你的where条件,你有没有得到任何记录? – MPelletier
是的,我得到我的一个记录,这是记录持有Fellixombc和1的ID。 – Fellixombc