1. C++ / Говнокод #9173

    +159

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    QSqlQueryModel model,model1,model2;
    ...
    model2.setQuery("SELECT * FROM cardInfoChange");
    while(model2.canFetchMore())
        model2.fetchMore();
    ...
     for(int i = 0; i < model2.rowCount(); i++)
            {
                QString t =  model2.record(i).value(1).toString().toUtf8()+
                        ";"+model2.record(i).value(2).toString().toUtf8()+";"+model2.record(i).value(3).toString().toUtf8()+
                        ";"+model2.record(i).value(4).toString().toUtf8()+
                        ";"+model2.record(i).value(5).toString().toUtf8()+
                        ";"+model2.record(i).value(6).toString().toUtf8()+
                        ";"+model2.record(i).value(7).toString().toUtf8()+
                        ";"+model2.record(i).value(8).toString().toUtf8()+
                        ";"+model2.record(i).value(9).toString().toUtf8()+
                        ";"+model2.record(i).value(10).toString().toUtf8()+
                        ";"+model2.record(i).value(11).toString().toUtf8()+
                        ";"+model2.record(i).value(12).toString().toUtf8()+
                        ";"+model2.record(i).value(13).toString().toUtf8()+
                        ";"+model2.record(i).value(14).toString().toUtf8()+
                        ";"+model2.record(i).value(15).toString().toUtf8()+
                        ";\n";
                f.write( t.toAscii());
            }

    Продолжаем стрелять по воробьям из пушки.

    Особое внимание на строки 4 и 5 так как QSqlQueryModel предназначена для вывода отображения в QTableView она не загружает все данные сразу а делает это постепенно.

    Ну и напоследок шедевральный способ записи полученных данных в файл.

    Запостил: ir4y, 19 Января 2012

    Комментарии (9) RSS

    • А если вдруг память закончится?
      Ответить
    • сначала toUtf8(), а потом toAscii() - это что, какая-то хитрость?
      а вообще, если это выгрузчик одноразовый (на это указывает "select *" и ".value(15)"), то проще из нормального DBExplorer'а сохранить в csv или руками скопировать в excel, сохранить как csv.
      Ответить
      • Это не одноразовый выгрузчик, просто в определенный момент происходит сброс базы на диск
        Ответить
    • показать все, что скрытоvanished
      Ответить

    Добавить комментарий