0

私は問題の完璧なタイトルを見つけることができませんでしたが、ここに来ました.Java(Android)で文字列「hello」を「hello」に変更する方法はありますか?? これは、私のSQLクエリを機能させるためです。たとえば、Android アプリ用に Java で記述された関数は次のとおりです。

public Cursor GetLecture(String course_code)
{
    SQLiteDatabase sqldb = this.getReadableDatabase();
    String query = "SELECT * FROM Lecture WHERE course_code =" + course_code;
    Cursor C = sqldb.rawQuery(query, null);
    return C;
}

ここでの問題は、クエリが必要とするのは、変数 course_code が文字列であるため、変数 course_code が持つ「S11」ではなく、たとえば「S11」の値にすることです。クエリを機能させるには、二重引用符 ("") を一重引用符 ('') にしますか? より短い方法はありますか、それともアルゴリズム全体を変更する必要がありますか?? 早速ご検討ありがとうございます!!

4

3 に答える 3

1

クエリで値を作成するための特別な構造があります。

p_query = "select * from mutable where name_field = ?";
mDb.rawQuery(p_query, new String[] { fieldValue });

または、エスケープ記号と引用符を追加するだけです

String query = "SELECT * FROM Lecture WHERE course_code = \"" + DatabaseUtils.sqlEscapeString(course_code) + "\"";

ここから:

SQLクエリ文字列内のAndroidの引用符

于 2013-10-14T08:15:46.280 に答える