вставить новые данные CSV в базу данных sqlite - PullRequest
0 голосов
/ 01 сентября 2018

Я хочу вставить новые данные из CSV-файла в мою базу данных. Буду признателен, если кто-нибудь поможет мне с файлом "file.csv", похожим на:

NO.        from        to        date
1          antony      bits      1/1/2000
2          bits        antony    1/2/2000

и база данных имеет дополнительный столбец и выглядит следующим образом

UNO        NO.        from        to        date
1          1          antony      bits      1/1/2000
2          3          mike        antony    1/1/2001

результат может выглядеть примерно так:

UNO        NO.        from        to        date
1          1          antony      bits      1/1/2000
2          3          mike        antony    1/1/2001
3          2          bits        antony    1/2/2000

1 Ответ

0 голосов
/ 01 сентября 2018

псевдокод

String[][] data;

// read csv into data

// first row is headers so omit;
for(int r = 1; r < data.length; r++) {

    // assuming your database table name is table1

    String updateQuery = "update table1 set from = '" + data[r][1] + "',  to = '" + data[r][2] + "', date = '" + data[r][3] + "' where NO. = '" + data[r][0] + "'";

    int updatedRowCount = executeUpdate(updateQuery);

    if(updatedRowCount == 0) {
        String insertQuery = "insert into table1 (UNO, NO., from, to, date) values ((select MAX(UNO)+1 FROM table1), '" + data[r][0] + "'" + data[r][1] + "'" + data[r][2] + "'" + data[r][3] + "')";
        executeUpdate(insertQuery);
    }

}

если вы не можете сделать это программно, вы можете использовать обновление и вставить sql выше

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