Могу ли я улучшить этот код, чтобы читать и записывать данные быстрее - PullRequest
0 голосов
/ 11 октября 2011

У меня есть пример кода, с которым я играл. По сути, я просто читаю из CSV-файла и записываю в таблицу. Можно ли улучшить приведенное ниже, чтобы он шел быстрее, кажется довольно медленным

public void impcusdata() throws SQLException, IOException {
    try {

        String UnitID = getUnitID();
        FileReader fr = new FileReader("/mnt/sdcard/CRM.CSV");

        // Put the file into the buffer
        BufferedReader in = new BufferedReader(fr);
        db.execSQL("DELETE FROM " + CUSTOMER_TABLE);
        // Create a new string to hold the data
        String data = "";

        // Create the strings executing SQL commands for the data to be
        // inserted
        String InsertCustString = "INSERT INTO " + CUSTOMER_TABLE
                + " VALUES(";
        String InsertEndString = ");";

        // If there is any data in the .CSV file then read it.
        while ((data = in.readLine()) != null) {
            // String the results to the SQL database
            db.execSQL(InsertCustString + data + InsertEndString);
        }
    } catch (SQLiteException ex) {
        String Shaw = ex.getMessage();

    }
    // log entry to the LogCat file
    Log.v(TAG, "Customer Table has been updated");
}

1 Ответ

1 голос
/ 11 октября 2011

Да, используя SqliteDatabase.beginTransaction () с setTransactionSuccessful () и endTransaction () , вы можете объединить несколько запросов.

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