0

データベースでユーザー入力を検索しています。辞書アプリです。ユーザーが2つの言語を切り替えることができるトグルボタンがあります。動作しますが、別の言語に切り替えると動作しません。基本的に、ボタンが別の言語に切り替えられたときに、別の SQL クエリを適用したいと考えています。

これが私のコードです:

try {

        Cursor cursor = dictionary.getDictionaryDatabase().rawQuery("SELECT * FROM fr_definition JOIN fr_adresse_definition ON fr_definition.data_id = fr_adresse_definition.definition WHERE index_nom_adresse='"+word[0].toLowerCase().trim()+"'", null);

        cursor.moveToFirst();
        if (cursor.getCount() != 0) {

            if (word[1] == null || word[1].equals("English")) {
                translatedWord = cursor.getString(2);
            } else {

                 //dictionary.getDictionaryDatabase().rawQuery("SELECT * FROM en_definition JOIN en_adresse_definition ON en_definition.data_id = en_adresse_definition.definition WHERE index_nom_adresse='"+word[0].toLowerCase().trim()+"'", null);
                translatedWord = cursor.getString(1);
            }
        } else {
            translatedWord = "The word is not in database";
        }
        cursor.close();
    } catch (SQLiteException sqle) {
        translatedWord = "The word is not in database";
    }

    dictionary.close();
4

1 に答える 1

0

このようなものでは、他のクエリを使用できませんか?

try {
    Cursor cursor;

    if (word[1] == null || word[1].equals("English")) {
         cursor = dictionary.getDictionaryDatabase().rawQuery("SELECT * FROM fr_definition JOIN fr_adresse_definition ON fr_definition.data_id = fr_adresse_definition.definition WHERE index_nom_adresse='"+word[0].toLowerCase().trim()+"'", null);
         cursor.moveToFirst();
         if (cursor.getCount() != 0) {
             translatedWord = cursor.getString(2);
         }
    } else {
         cursor = dictionary.getDictionaryDatabase().rawQuery("SELECT * FROM en_definition JOIN en_adresse_definition ON en_definition.data_id = en_adresse_definition.definition WHERE index_nom_adresse='"+word[0].toLowerCase().trim()+"'", null);
         cursor.moveToFirst();
         if (cursor.getCount() != 0) {
              translatedWord = cursor.getString(1);
         } 
    }

    cursor.close();
} catch (SQLiteException sqle) {
    translatedWord = "The word is not in database";
}

dictionary.close();
于 2013-04-06T14:30:31.170 に答える