将sqlite结果导出到文件

时间:2011-04-10 02:26:34

标签: android

我在SO上遇到了一些关于将数据库/表导出到txt文件的问题/答案。几乎每个解决方案都使用Java I / O.我想知道是否有人使用本机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();

2 个答案:

答案 0 :(得分:2)

那些命令行shell命令不是SQL语句吗?不要混淆shell中的内容(如adb / sqlite3)与您在应用程序中的数据库客户端框架中使用的SQL语句。

简短的回答,如果您想将sqlite数据库导出到文本文件中,我认为您必须使用Java I / O.

答案 1 :(得分:1)

前缀为的命令。不是SQL;它们是由sqlite3 shell实现的。但是,如果您真的想使用此方法,则可以从Android应用程序调用sqlite3二进制文件。请参阅此example of how to do this in regular J2SE获取灵感。

出于好奇,你为什么要导出到文本? sqlite3二进制文件可在许多平台上使用;导出数据库然后使用桌面工具可能更有意义。

希望这有帮助,

Phil Lello