SQLite 查询不适用于 Android rawQuery
SQLite query not work on Android rawQuery
编辑: 问题已解决,查询正确。我的问题是;
我使用本地数据库。而且我不是直接从资产文件夹访问数据库。当 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" 部分,就可以了。我哪里做错了?
更新:Return 这个异常:android.database.sqlite.SQLiteException:没有这样的列:sayi(代码 1):,编译时:SELECT * FROM kelimeler WHERE kelime LIKE? ORDER BY sayi DESC LIMIT 10
数据库架构:
如异常所述,no such column: sayi
表示 sayi
列在您的 table kelimeler
中不存在。先检查一下。
编辑: 问题已解决,查询正确。我的问题是; 我使用本地数据库。而且我不是直接从资产文件夹访问数据库。当 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" 部分,就可以了。我哪里做错了?
更新:Return 这个异常:android.database.sqlite.SQLiteException:没有这样的列:sayi(代码 1):,编译时:SELECT * FROM kelimeler WHERE kelime LIKE? ORDER BY sayi DESC LIMIT 10
数据库架构:
如异常所述,no such column: sayi
表示 sayi
列在您的 table kelimeler
中不存在。先检查一下。