gpt4 book ai didi

android - 无法在android中的Sqlite数据库更新命令中更新多行

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:16:09 24 4
gpt4 key购买 nike

我遇到了一个问题。我正在尝试批量更新我的表,即尝试更新数据库中的多行。更新很简单。我只需要将列值设置为 1,它实际上用作应用程序中的标志。所以我想将该值设置为 1,并在 where 子句中给出我想要设置的所有 id 的字符串数组。但问题是它给了我一个 "android.database.sqlite.SQLiteException: bind or column index out of range:"。但是,当以字符串或字符串数​​组形式提供单个值时,更新工作正常。

这里是查询

db.update( tableName, cv, Z_ID + "=?", items );

其中 items 是 String[ ] 类型

请告诉我我错过了什么?

问候

法赫德阿里谢赫

最佳答案

根据您提供的一行,我认为这行不通。

如果我们查看方法调用签名:

update(String table, ContentValues values, String whereClause, String[] whereArgs)

所以:

ContentValues cv=new ContentValues(); cv.put(colName, new Integer(1));

String[] items = new String []{String.valueOf(Z_ID)}

db.update( tableName, cv, Z_ID + "=?", items );

你的代码看起来像这样吗?

您的项目数组必须与 where 子句匹配。一个不同的例子看起来像这样:

ContentValues cv=new ContentValues(); cv.put(salesColName, new Integer(4534));

String whereClause = "band=? and album=?"; String whereArgs = new String [] { "U2", "Joshua Tree" };

db.update( tableName, cv, whereClause , whereArgs);

关于android - 无法在android中的Sqlite数据库更新命令中更新多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4560671/

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