gpt4 book ai didi

android - 如何根据查询结果更新多个sqlite行(Android,SQLITE)

转载 作者:搜寻专家 更新时间:2023-11-01 08:10:39 25 4
gpt4 key购买 nike

我在 android 中执行了一个 rawQuery,它返回指向不同行的多个结果。

example:  Cursor cursor = db.rawQuery("Select id as _id, List_id, Street_id FROM Streets WHERE Street_id = 5, null);

在我的表中,这将返回两行:

List_id = 2, Street_id = 5 
List_id = 7, Street_id = 5

然后我想在另一个表中为 List_id 2 和 List_id 7 也对应的两行(即 _id = 3 和 _id = 8)更新单独表中名为 Counter 的列。

我知道我将不得不做一些游标管理。但如果有人能给我一些入门的一般基础知识,我将不胜感激 - 我一直在努力解决这个问题。

更好的例子:

我在 Streets 表中查询 Street_id = 5 的所有记录。我得到两个结果。在那些返回的行中,我有一个名为 List_id 的列。两个 List_id 列中的数据是 2 和 5。然后我需要根据等于 2 和 5 的 _id 更新一个名为 Counter my Lists 表的字段。

最佳答案

看起来您所要做的就是在更新查询中也包含 where 子句。

String filter = "Street_id=" + 5; 
ContentValues args = new ContentValues();
args.put(Counter, "value");
myDB.update("Streets", args, filter, null);

应该做的工作

编辑

db.rawQuery("update Streets (Counter) Set (Value) Where Street_id=5, (Value) Where Street_id=5");

这将更新两行中的值,您可以根据先前查询返回的行数动态生成此查询。

编辑

好吧,我们试试

db.rawQuery("update Lists (Counter) Set (Value) Where _id=2, (Value) Where _id=5");

如果这不是您想要的或您遇到问题,请举例说明

上面的查询将使用 Value 更新 Lists 表中的 Counter 列,其中第一行的 _id = 2 和第二行行的 _id=5

关于android - 如何根据查询结果更新多个sqlite行(Android,SQLITE),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9961133/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com