3

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 return :エラーコード= 1、msg =そのようなテーブルはありません:newDb.mydata ... "

次のステートメントを発行することにより、sqlit3内からデータベースを手動で接続できます。

sqlite3> attach database'/data/data/com.stuff.app/databases/mydata.db' as newDb;

これを解決するための助けをいただければ幸いです。

4

1 に答える 1

2

Honeycombでは、「Attach」SQLステートメントにbindargsを使用しても機能しないようです。

代わりにこれを試してください:db.execSQL( "attach database'" + newDb + "'as newDb");

これはうまくいくはずです。

于 2011-03-14T22:40:27.950 に答える