gpt4 book ai didi

android - SQLiteQueryBuilder.query() 与 SQLiteDatabase.query()

转载 作者:IT老高 更新时间:2023-10-28 22:26:02 25 4
gpt4 key购买 nike

这两种方法有什么区别?对我来说,似乎 SQLiteDatabase 的唯一好处是它能够使用不同的数据库。我说的对吗?

最佳答案

主要方法是SQLiteDatabase#rawQuery()SQLiteDatabase#query()SQLiteQueryBuilder 都只是编写 SQL 的助手。

SQLiteDatabase#query() 只能从一张表中组合简单的查询。 SQLiteQueryBuilder 可以创建连接、联合等。由于 SQLiteQueryBuilder 是一个额外的对象,因此只有在需要它的强大功能时才构建它。

我个人认为,任何非平凡的 SQL 都比 SQL 更容易阅读,而不是像这样由帮助器组成的 fragment ,所以我会使用 rawQuery 而不是 SQLiteQueryBuilder,但这是一个品味问题以及您对 SQL 的了解程度。如果您有一些想要以不同方式组合在一起的常见子查询,SQLiteQueryBuilder 也可能很有用。

事实上,我更喜欢使用准备好的语句,因为与执行相比,SQL 的编译速度很慢,并且因为它避免了对可能不受信任的值进行字符串操作。起初我找不到 API,因为某些奇怪的原因它被称为 SQLiteDatabase#compileStatement而不是通常的 prepare在底层 C API 中使用。

关于android - SQLiteQueryBuilder.query() 与 SQLiteDatabase.query(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17230049/

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