有没有人遇到过与Honeycomb相关的数据库问题?我的应用程序使用附加的数据库(处理1.5到2.3)使用以下语句:
…
String newDb = "/data/data/com.stuff.app/databases/mydata.db";
db.execSQL("attach database ? as newDb", new String[] {newDb});
String[] columns = MY_COL_NAMES;
String orderBy = DEFAULT_SORT_ORDER;
Cursor cursor = db.query("newDb.mydata", columns, null, null, null, null, orderBy);
…
不管sqlite数据库文件(本地或SD卡)的实际位置如何,这都在工作(1.5到2.3)…但是,在Honeycomb中,db.query语句会导致“I/sqlitedatabasecpp(628):sqlite returned:error code=1,msg=no such table:newdb.mydata…”
我可以通过发出以下语句从sqlit3中手动附加数据库:
sqlite3>将database'/data/data/com.stuff.app/databases/mydata.db'附加为newdb;
任何帮助解决这一问题的人都将不胜感激。
最佳答案
在Honeycomb中,对“attach”SQL语句使用bindargs似乎不起作用。
请改为:
db.execsql(“附加数据库”“+newdb+”“作为newdb”);
这应该管用。
关于android - 蜂窝中的附加数据库,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5108964/