SQLiteCursor更改查询

时间:2012-07-05 11:37:21

标签: android sqlite memory memory-leaks

是否可以更改已经实例化的SQLiteCursor的SQL查询语句?我希望能够通过setWindow为CursorWindow指定给定的固定SQLiteCursor,以便将来的查询放在同一个容器中而不是打开新的容器,但每个查询都会有所不同。所以我的想法是做一些像:

SQLiteDatabase db = openOrCreateDatabase(...);
CursorWindow cursorWindow = new CursorWindow("MyCursorWindow");
SQLiteQuery sqliteQueryObject;

//first query
String query = "SELECT * FROM Table";
sqliteQueryObject = SomeFunctionThatCreatesASQLiteQueryFromAStatement(query)
SQLiteCursor cursor = new SQLiteCursor(db, ...., sqliteQueryObject)

SQLiteCursor.setWindow(cursorWindow);

//subsequent queries
String query = "SELECT * FROM AnotherTable";
sqliteQueryObject = SomeFunctionThatCreatesASQLiteQueryFromAStatement(query)
SQLiteCursor.SomeFunctionToSetANewQuery(sqliteQueryObject);
SQLiteCursor.requery();

在执行SQLiteCursor之前,private SQLiteQuery mQuery内部必须将requery()设置为新查询。

0 个答案:

没有答案