いいえ、私はSqliteにデータを格納しようとしています。だから、私は "ライン"とユーザーのIDを格納しようとしている。しかし、where節が私に失敗しているようです。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"));
}
trueは印刷されません。しかし、クエリからWHERE句を削除すると、すべてのユーザー名/ IDの罰金が印刷されますが、もちろん「TRUE」になります。
Sqliteで何か不足していますが、それは構文ですか?
編集:ちょうど1のidを持つと、ユーザー名Fellixombc 編集を持つユーザー列にユーザーが存在し明確にする:だから私は今、HERESに私のコード、あなたの男の提案を取り、文を準備してみました:
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
はい、私は1つのレコードを取得します。これは、Fellixombcと1のIDを保持するレコードです。 – Fellixombc