Russian Qt Forum

Qt => Model-View (MV) => Тема начата: gorec323 от Апрель 21, 2011, 10:59



Название: отображение результатов нескольких запросов одновременно
Отправлено: gorec323 от Апрель 21, 2011, 10:59
Проблема состоит в следующем. На сервере есть хранимая процедура, которая выдает результаты по одному параметру. А мне надо отобразить результаты для нескольких параметров. Использую модель QSqlQueryModel.  Есть ли возможность отобразить одновременно результаты для нескольких значений параметра?
Пробовал сделать так:
Код:
    QString defSql("SELECT * from worksessionproc(%1, %2, %3);");
    QString sql;
    QString freqs = defFreq.arg(tblSessions->table->table()->selectionModel()->selectedRows().first().data().toString());
    for(int i=0; i < tblSessions->table->table()->selectionModel()->selectedRows().count(); ++i) {
        sql.append(defSql.arg(begTime)
            .arg(endTime)
            .arg(tblSessions->table->table()->selectionModel()->selectedRows().at(i).data().toString()));
    }
    tblFreqSess->table->setQuery(sql);

где setQuery(sql) делает следующее:

Код:
  model->setQuery(sql);

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


Название: Re: отображение результатов нескольких запросов одновременно
Отправлено: RedDog от Апрель 21, 2011, 13:16
UNION надо использовать в запросах


Название: Re: отображение результатов нескольких запросов одновременно
Отправлено: gorec323 от Апрель 21, 2011, 13:42
Цитировать
UNION надо использовать в запросах
это мне не подходит, так как для каждого значения могут быть большие выборки и приходится долго ждать результат.


Название: Re: отображение результатов нескольких запросов одновременно
Отправлено: RedDog от Апрель 21, 2011, 14:03
Тогда делать свою модель для запроса, которая бы не сбрасывала предыдущие результаты, а добавляла к ним новые


Название: Re: отображение результатов нескольких запросов одновременно
Отправлено: gorec323 от Апрель 21, 2011, 14:57
Тогда делать свою модель для запроса, которая бы не сбрасывала предыдущие результаты, а добавляла к ним новые
это понятно, что самому все можно переделать. Я спрашивал об уже имеющихся средствах в Qt.