Android实现java.sql.PreparedStatement

时间:2012-10-04 02:46:49

标签: java android sqlite prepared-statement android-sqlite

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

在我的Google搜索和Stackoverflowing期间,我能够轻松得出结论,使用android.database.sqlite.SQLiteStatement是Android编码器中广泛接受的解决方案(例如see this post)。仍然......我仍然很好奇为什么Android的公认解决方案是使用不是java.sql.PreparedStatement的实现者的类。

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

2 个答案:

答案 0 :(得分:2)

因为the SQLiteStatement APIPreparedStatement API不同!前者没有实现后者所要求的所有功能。例如:

  

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

答案 1 :(得分:0)

我的解释是:

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

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