-2

編集: 問題は解決しました。クエリは正しいです。私の問題は; 私はローカルデータベースで作業しています。また、アセットフォルダーから直接データベースにアクセスすることはできません。私のコードは、データベースがSDカードに存在しない場合に、アセットフォルダーからSDカードにデータベースをコピーします。したがって、私のデータベースの変更は、資産フォルダー内のデータベースにのみ影響します。そして、古いデータベースで正しいクエリを試しました。質問してすみません。

DB Browser for SQLiteでSQLite クエリを試してみましたが、うまくいきました。

しかし、Android では同じクエリが機能しませんでした。

 String[] a = new String[1];
 a[0] =   yazilanKelime + '%';
 Cursor friendCursor = db.rawQuery( "SELECT * FROM kelimeler WHERE kelime LIKE ? ORDER BY sayi DESC LIMIT 10", a);

「ORDER BY sayi DESC」の部分を削除すると、うまくいきます。私はどこで間違っていますか?

更新: この例外を返します: android.database.sqlite.SQLiteException: そのような列はありません: sayi (コード 1): 、コンパイル中: SELECT * FROM kelimeler WHERE kelime LIKE ? ORDER BY sayi DESC LIMIT 10

DB スキーマ: ここに画像の説明を入力

4

1 に答える 1