Android SQLite只接受String []作为whereArgs?

时间:2011-07-10 16:30:25

标签: java android sqlite

在我的Android应用中,我有EventEvent的属性idlong(显然可识别Event)。

当我想更新Event中的SQLiteDatabase时,我会执行以下操作:

sqliteDatabase.delete("events", "id = ?", new String[] { "" + id });

它有效,但有更漂亮/更首选的方法吗?我的意思是代替仅为一个元素创建一个新的String[]并将长整数包装到{{ 1}},这很麻烦。

3 个答案:

答案 0 :(得分:3)

  

它有效,但是有更漂亮/更优选的方式吗?

使用String.valueOf(id)代替""+id,因为它会更快地运行并减少垃圾。

  

我的意思是代替只为一个元素创建一个新的String []并将long包装到一个String,这很麻烦。

欢迎您编写自己的方法,从其他代码中隐藏繁琐的工作。

答案 1 :(得分:2)

您可以使用PreparedStatement并将变量绑定到它。但是这需要你写一个accusal SQL-Query。

答案 2 :(得分:1)

不是java编码器,但也许这有效吗?

sqliteDatabase.delete("events", "id = ?", { id.toString() });