Segmentation fault на QSqlQuery::exec

239
16 июня 2017, 10:12

Есть такой код

QList<int> DBFacade::getBuildingIDs()
{
    // Подгрузка ID всех строений.
    QList<int> buildingIDs;
    QString query("SELECT TableBuildings.BuildID \n "
                  "FROM TableBuildings \n "
                      "LEFT JOIN BuildingTypes ON TableBuildings.BuildTypeID = BuildingTypes.TypeID \n "
                  "ORDER BY TableBuildings.Region ASC, CitiesAndCommunities.IsCity DESC, TableBuildings.CityOrCommID ASC");
    QSqlQuery sq;
    if (sq.exec(query)) // <- Вот тут выбрасывает
    {
        while (sq.next())
            buildingIDs << sq.value(0).toInt();
        qDebug() << "Notice:\t Loading building IDs";
    }
    else
        qDebug() << "Error:\t BuildID could not loaded: " << sq.lastError().text();
    return buildingIDs;
}

Странно то, что это выкидывает в режиме отладки. Думал, может ошибка в другом, но если убрать эту функцию, то тогда работает нормально. Не могу понять, что у меня тут такого, что могло вызвать ошибку сегментации

И да, у меня класс DBFacade работает во втором потоке. Перекидывал с помощью moveToThread. Может, это как-то связанно с ошибкой?

READ ALSO
отличия operator new и expression new

отличия operator new и expression new

В чем разница между operator new и expression new?

267
Односвязный линейный список [требует правки]

Односвязный линейный список [требует правки]

Помогите выполнить задачу:

245
Работа с Unicode в Cython

Работа с Unicode в Cython

Имеется скрипт, написанный на Cython, который принимает на вход массив C++ строк, анализирует их с помощью pymorphy2 и обрабатывает результаты анализаВ...

382
Exteption Throw -&gt; ..WSASocketW(.. - socket_ops.ipp - library boost asio [требует правки]

Exteption Throw -> ..WSASocketW(.. - socket_ops.ipp - library boost asio [требует правки]

Иногда при коннекте вылетает исключение

261