2011-04-10 40 views
0

我遇到了幾個關於將數據庫/表導出到txt文件的問題/答案。幾乎每個解決方案都使用Java I/O。我想知道是否有人用本地sqlite命令取得了成功。以下是我的代碼,它不起作用。我真的很感激,如果有人有任何想法得到這個工作。將sqlite結果導出到一個文件

String OutputFile=Environment.getExternalStorageDirectory()+"/"+output + ".txt"; 
databaseHelper.getDatabase().beginTransaction(); 
databaseHelper.getDatabase().execSQL(".mode list"); 
databaseHelper.getDatabase().execSQL(".separator |"); 
databaseHelper.getDatabase().execSQL(".output " + OutputFile); 
databaseHelper.getDatabase().execSQL("select * from "+ TABLE_NAME); 
databaseHelper.getDatabase().execSQL(".exit"); 
databaseHelper.getDatabase().endTransaction(); 

回答

1

帶前綴的命令。不是SQL;它們是由sqlite3 shell實現的。但是,如果您確實想要使用此方法,則可以從Android應用程序調用sqlite3二進制文件。請參閱example of how to do this in regular J2SE以獲取靈感。

出於好奇,你爲什麼要出口到文本? sqlite3二進制文件在很多平臺上都可用;導出數據庫然後使用桌面工具可能更有意義。

希望這有助於

菲爾Lello

+0

感謝您的回覆。我想在我的Android應用程序中提供將表格內容發送給自己的功能。這就是我想將表格導出到txt文件的原因。 – Indrajeet 2011-04-10 12:51:07

2

那些命令行shell命令不是SQL語句嗎?不要將你在shell(如adb/sqlite3)中可以做什麼與你在應用程序中的數據庫客戶端框架中使用的SQL語句混淆。

簡短的回答,我想如果你想將sqlite數據庫導出到文本文件中,你必須使用Java I/O。

+0

感謝您的答覆。我現在明白shell命令不會在SQL會話中被解釋。 – Indrajeet 2011-04-10 12:53:23

相關問題