首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FTS3 \ rowid问题\\删除不起作用

FTS3 \ rowid问题\\删除不起作用
EN

Stack Overflow用户
提问于 2012-02-01 16:48:23
回答 2查看 230关注 0票数 0

我最近将我的数据库更新为FTS3,因为我请求了搜索功能。

我的FTS3表:

代码语言:javascript
复制
    db.execSQL("CREATE VIRTUAL TABLE " + TABLE_FTS + " USING fts3(" + COL_ID + ", " + COL_KEY_NAME + ", "
            + COL_KEY_WEBURL + " , " + COL_KEY_MAINURL + ", " + COL_KEY_CODEC + " " + ");");

我总是使用ContextMenu从我的列表视图中输入删除项。我用了这样的方法:

代码语言:javascript
复制
AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo)item.getMenuInfo();
delete(info.id);
updateList();


public void delete(long id) {
    int numDeleted = database.delete("stations" , "_ID = ?", new String[] { Long.toString(id) } );
    Log.d(TAG, "delete(): id=" + id + " -> " + numDeleted);
}

public void updateList() {
    data.requery();
    dataSource.notifyDataSetChanged();
}

这个方法,info.id没有给我这个职位,所以我把它改成了info.position。位置是对的,但delet不起作用。好的,我尝试了一个简单的删除,而不是通过Android方法。

代码语言:javascript
复制
database.execSQL("DELETE FROM " + DatabaseHelper.TABLE_FTS + " WHERE " + DatabaseHelper.COL_ID + "='" + id + "'");

别再工作了。在FTS3中,似乎不再存在具有自动递增数的列吗?我想,我可以使用rowid,但它不像预期的那样工作。如果我删除了我的第一个条目,下面的条目就会被删除。

我怎样才能让它像以前一样工作呢?编辑:找到了现在修复..。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-02-07 23:13:06

找到fix了。不要按ID删除,现在按名称删除。

票数 1
EN

Stack Overflow用户

发布于 2012-09-22 20:10:13

我想问题来自于

代码语言:javascript
复制
_ID = ?

_ID是整数了吗?被字符串替换。你的第二种不工作方式也是如此。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9099737

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档