1

更新する必要があるデータベース エントリがあります。

この方法は明らかに機能しませんが、私が何をしようとしているのかを説明するのに役立つはずです。

public void updateEntry(String user, String message, String mentions, String og) {
    ContentValues args = new ContentValues();
    args.put(KEY_MESSAGE, message);
    args.put(KEY_MENTIONS, mentions);
    this.db.update(ENTRY_TABLE, args, ("message = ?", "username = "+user), new String[] {og});
}

「名前」列と「メッセージ」列の両方が入力値と一致するエントリを更新する必要があります。

データベースには同じユーザーの複数のエントリがあり、同じメッセージで異なるユーザーの複数のエントリがある場合があるため、複数の where 句が必要です。

SQL クエリで 2 つ (またはそれ以上) の where 句を使用するにはどうすればよいですか?

4

4 に答える 4

10

この変更は機能するはずです..

this.db.update(ENTRY_TABLE, args, ("message = ? AND username = "+user), new String[] {og});
于 2012-04-09T08:57:00.767 に答える
4

次のような 2 つ (またはそれ以上) の where 句を使用できます。

this.db.update(ENTRY_TABLE, args, ("message = ? and Field1 =? and Field2 =? and username = "+user), new String[] {og});

Fields の値は og (配列) によって提供されます

于 2012-04-09T09:06:59.723 に答える
3

使用する

db.rawQuery(your SQL update query);
于 2012-04-09T09:06:36.643 に答える
2

Java 構文には詳しくありませんが、SQL では複数の句ANDを結合するために使用できます。WHEREこのようなもの:

WHERE message = 'foo' AND username = 'bar'
于 2012-04-09T08:56:32.727 に答える