Как экспортировать несколько таблиц в разные файлы CSV? - PullRequest
0 голосов
/ 13 февраля 2019

У меня есть база данных со многими таблицами.Я хотел бы экспортировать все таблицы в разные файлы .csv.Например, таблица 1 будет генерировать файл 1.csv.Таблица 2, файл 2.csv.И т.д.

Этот метод работает нормально, но я экспортирую только все таблицы в один файл .csv.

public void exportData (View view) {

    File dbFile = getDatabasePath("myDataBase.db");
    Helper dbhelper = new Helper(getApplicationContext());
    File exportDir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);
    if (!exportDir.exists())
    {
        exportDir.mkdirs();
    }

    File file = new File(exportDir, tableName);
    try
    {
        file.createNewFile();
        CSVWriter csvWriter = new CSVWriter(new FileWriter(file));
        SQLiteDatabase db = dbhelper.getReadableDatabase();
        Cursor curCSV = db.rawQuery("SELECT * FROM " + tableName,null);
        csvWriter.writeNext(curCSV.getColumnNames());

        while(curCSV.moveToNext())
        {
            String arrStr[] ={curCSV.getString(0),curCSV.getString(1)};
            csvWriter.writeNext(arrStr);
        }

        csvWriter.close();
        curCSV.close();
    }
    catch(Exception sqlEx)
    {
        Log.e("MainActivity", sqlEx.getMessage(), sqlEx);
    }

    Toast.makeText(this, "File created!", Toast.LENGTH_SHORT).show();

}

Я хотел бы экспортировать все таблицы в разные файлы .csv, по одному для каждой таблицы, с именами таблиц + расширение .csv.

Не могли бы вы научить меня, как это сделать?

1 Ответ

0 голосов
/ 13 февраля 2019

Я бы посоветовал вам выяснить это самостоятельно, я дам вам подсказку указать правильное направление.

Вам необходимо определить, для какой таблицы вам нужно экспортировать данные, и на основе этого циклатолько те записи, которые находятся в этой таблице.

Надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...