gpt4 book ai didi

安卓内容值 : Are values misordered at insert?

转载 作者:太空狗 更新时间:2023-10-29 13:30:13 24 4
gpt4 key购买 nike

显然我不理解 Android 中 ContentValues 的概念。由于 ContentValues 是一个集合,如何保证像 database.insert(TABLE, null, contentValues); 这样的插入语句以正确的顺序获取 contentValues 的所有值?

假设 TABLE 有 3 个字符串列。如果我写以下...

contentValues.put("col1", valueCol1);
contentValues.put("col2", valueCol2);
contentValues.put("col3", valueCol3);

...不能保证 database.insert 会按此顺序插入值,还是我理解有误?

使用 database.insert 而不是 db.execSQL 有什么好处(除了在 Android 中更好的 View 处理)?

最佳答案

since ContentValues is a set?

ContentValues更接近于 Map .它是键值存储,以字符串为键。

it is not guaranteed that database.insert inserts the values in this order, or did I understand something wrong?

INSERT将同时插入这些值,方式 INSERT语句在过去几十年中一直适用于任何符合 SQL 的数据库。

使用您的示例,如果我们要 insert()ContentValues到名为 foo 的表中,结果将等同于以下内容:

db.execSQL("INSERT INTO foo (col3, col1, col2) VALUES (?, ?, ?)", args);

哪里argsString[]valueCol3 组成, valueCol1 , 和 valueCol2 , 分别。

What are the benefits in using database.insert instead of db.execSQL at all

它涉及的输入更少,您不必将您的值转换为 String数组。

(except better View handling in Android)?

恕我直言,insert()SQLiteDatabase不提供比execSQL()“更好的 View 处理”在 SQLiteDatabase ,尽管您可能正在想一些我遗漏的东西。

关于安卓内容值 : Are values misordered at insert?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16499277/

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