私はテーブルT1を持っています。テーブルT1には、juliandayを表すfloat型の列があります。今、juliandayがn日より古いエントリを削除したいと思います。私が試した:Android SQLiteのwhere節に引数を含めるにはどうすればいいですか?
db.delete(T1, COL_JULIANDAY + " <= julianday('now', '- ? days')",
new String[] { Integer.toString(days) });
しかし、私は、Androidからのエラーました: '?'
android.database.sqlite.SQLiteException: bind or column index out of range
私はそれがあるためだと思うがマークは私のwhere節で引用されます。ご希望の場合は、単にdb.execSQL(statement);
db.execSQL("delete from "+T1+" where COL_JULIANDAY <= julianday('"+days+"')");
あなたは何を削除しようとしていますか?これは正しい構文です。db.delete(table、whereClause、whereArgs) – Lucifer
はい、構文は正しいです。 APIは '?'を認識できません。引用符で囲みます。それは '?'を扱う。私のコードでリテラルとして '?'マーク... – davidshen84
あなたはlalitのコードを試しましたか? – Lucifer