2

我正在研究如何使用java.sql.PreparedStatement对象在我的 Android 应用程序中查询 SQLite 数据库。根据我之前编写查询 Oracle 数据库的 Java 应用程序的经验,我习惯于以这种方式编写查询语句。

在我的谷歌搜索和 Stackoverflowing 过程中,我很容易得出结论,使用android.database.sqlite.SQLiteStatement是 Android 编码人员广泛接受的解决方案(例如,请参阅这篇文章)。仍然......我仍然很好奇为什么 Android 的公认解决方案是使用一个不是 java.sql.PreparedStatement 实现者的类。

为什么 SQLiteStatement 没有实现 PreparedStatement?两者在性能、语句编译时间等方面有什么区别。 有没有 Android 的 PreparedStatement 实现?

4

2 回答 2

2

因为APISQLiteStatementAPI不一样PreparedStatement!前者没有实现后者所需的所有功能。例如:

[ SQLiteStatement] 表示可以对数据库执行的语句。该语句不能返回多行或多列,但支持单值 (1 x 1) 结果集。

于 2012-10-04T03:06:09.397 回答
0

我的解释是:

Android 内置了 SQLLite 数据库(没有其他数据库),因此 Android API 提供 SQLLiteStatement 而不是使用整个 java.sql API。

SQLLite 数据库本身提供的功能有限,你不能用其他数据库做你能做的一切,所以我猜他们已经引入了轻量级 API。

于 2012-10-04T02:55:41.203 回答