我在讀我的NexusOne中的SQLite數據庫並使用C#.Net將其讀取到我的電腦時感到有點皺紋。將SQLite數據庫讀爲C#文件#
在我的android應用程序的初始加載中,數據庫將從資產複製到/data/data/com.example.myapp/databases
爲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();
我創建了一個C#程序讀取SQLite數據庫,但使用System.Data.SQLite
初始化連接時,它總是拋出一個錯誤,「沒有這樣的表錯誤」。
當我在SQLiteConnection connection = new SQLiteConnection("Data Source=MyDB.db")
中放置斷點時,connection.DataBase
總是等於「main」。數據庫名稱應該是「MyDB」而不是「主」。似乎我的sqlite數據庫文件無法讀取,也許是因爲它是使用Stream
創建的,或者可能是因爲它不是數據庫文件?因爲當我檢查文件類型時,它會顯示「文件」而不是「數據庫文件」。
任何人都有關於如何使用C#讀取sqlite數據庫文件的想法。我首先想到的是使用FileStream
和StreamReader
/StreamWriter
。但我不知道如何開始。
感謝您的回覆。我正在使用SQLite數據庫瀏覽器瀏覽我的數據,我知道該表在那裏。 – klaydze
@klaydze在某個網站上扔掉你的桌子,我會看看。 – AngryHacker