SQL Anywhere 12.0.1 i Qtableview QSqlQueryModel



  • Witam,

    Pisze program pracujący na bazie SQL Anywhere 12.0.1 (baza obsługuje tranzakcje).
    W swoim programie wyświetlam wyniki z zapytania przy pomocy Qtableview

    sposób 1

    QSqlQueryModel *model3 = new QSqlQueryModel();
    QString query7 = QString("zapytanie");
    model3->setQuery(query7);
    ui->tableView->setModel(model3);

    lub

    sposób 2

    QSqlQueryModel *model3 = new QSqlQueryModel();
    QSqlQuery query7;
    query7.prepare("zapytanie");
    query7.exec();
    ui->tableview->setModel(model3);

    Każdy z tych przykładów powoduje blokowanie tabeli na których operuje zapytanie tzn. tworzą się tzw. lock w trybie shared do momentu w którym nie usunę modelu
    model3.clear();
    lub
    delete model3;
    Jeżeli usunę model usuwają się "locki" na tabelach ale również giną wyniki zapytania w Qtableview.
    Czy istnieje jakiś sposób na pozostawienie wyników w Qtableview ?

    Z góry dziękuje za wszelką pomoc.


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.