2

NexusOne から取得した SQLite データベースを読み取り、C#.Net を使用して PC に読み取る方法について頭の中で少ししわが寄っています。

Android アプリの初期ロードでは、データベースは Asset から/data/data/com.example.myapp/databasesasにコピーされOutputStreamます。これがコードです。

        //Open your local db as the input stream
    InputStream myInput = myContext.getAssets().open(DB_NAME);

    // Path to the just created empty db
    String outFileName = DB_PATH + DB_NAME;

    //Open the empty db as the output stream
    OutputStream myOutput = new FileOutputStream(outFileName);

    //transfer bytes from the inputfile to the outputfile
    byte[] buffer = new byte[1024];
    int length;
    while ((length = myInput.read(buffer))>0) {
        myOutput.write(buffer, 0, length);
    }

    //Close the streams
    myOutput.flush();
    myOutput.close();
    myInput.close();

SQLite データベースを読み取る C# プログラムを作成しましたが、System.Data.SQLiteそれを使用して接続を初期化すると、常に「そのようなテーブル エラーはありません」というエラーがスローされます。

にブレークポイントを配置するとSQLiteConnection connection = new SQLiteConnection("Data Source=MyDB.db")、常に「メインconnection.DataBase」と等しくなります。データベース名は「main」ではなく「MyDB」にする必要があります。私の sqlite データベース ファイルが読み取れなかったようです。ファイルの種類を確認すると、「データベースファイル」ではなく「ファイル」と表示されているためです。Stream

C# を使用して sqlite データベース ファイルを読み取る方法については、誰でもアイデアを持っています。最初に頭に浮かぶのは、FileStreamand StreamReader/を使用することStreamWriterです。でも、どうやって始めたらいいのかわからない。

4

1 に答える 1

0

SQLite Adminなどのツールを使用して、データベース内のテーブルの名前を確認したり、開くことができるかどうかを確認したりします。次に、その情報を入手したら、SQLiteConnection オブジェクトを使用してデータベースを開くことができるはずです。

于 2012-12-18T06:31:40.190 に答える