1

Android で複数のデータベースからデータを取得することは可能SQLiteですか? 例えば:SELECT * FROM db1.tableA A, db2.tableB B WHERE A.id=B.id;

助けてください、関連するクラスが見つかりませSQLiteOpenHelperSQLiteDatabase。ありがとう

それが不可能な場合。データベースに大量のレコードを挿入する簡単な方法はありますか? 3000 レコードの XML ファイルがあります。挿入には約3〜4分かかります(これがデータをdb2に入れる方法です)。

4

3 に答える 3

11

次のように、別の SQLite DB をアタッチできます。

db.execSQL("attach database ? as userdb", new String[]{"/data/data/com.mycompany.myapp/databases/user.db"});

次に、「userdb.table」を使用してメインデータベースからアクセスします。

https://groups.google.com/forum/?fromgroups#!topic/android-developers/u3WYg-0FHZ0

于 2012-07-29T19:26:04.827 に答える
3

1 つの Android アプリケーションで複数のデータベースを使用することは非常に可能です。同様の質問については、こちらを参照してください。

複数のデータベースの使用を避けたい場合 (推奨) には、データベース アクセス時間の高速化に対処するための多くの質問があります。これらのリソースを見てみましょう:

http://tech.vg.no/2011/04/04/speeding-up-sqlite-insert-operations/ にリンクする sqlite3データベースに1000000行を挿入する

基本的に、insert ステートメント全体を囲むデータベース トランザクションを使用します (上記で説明)。これにより、挿入ごとに個別のトランザクションが作成されるため、オーバーヘッドが削減されます。

于 2012-05-29T15:00:14.943 に答える
2

1つのクエリで2つの異なるデータベースを一度にクエリすることは可能ですが、最初にATTACHを使用してそれらをまとめる必要があります。

SQLiteATTACHキーワードのドキュメントはこちら

ここに良い例があります。これはjava/androidコードにはありませんが、すべてを実行するために必要なSQLコマンドを示しています。

このページもそれをカバーしています(約1/4下を見てください)。

于 2012-05-29T15:07:45.593 に答える