Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: QSQLQuery + SP MSSQL
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt Разработка баз данных
guest
Всем привет! Не получается заюзать ХП для INSERT в базу. ХП SELECT работает норм. Возвращает результат. ХП рабочая, проверено.
lasterror возвращает QODBCResult::exec: Unable to execute statement: "[Microsoft][ODBC SQL Server Driver]Подключение занято до получения результатов для другого hstmt"

Гость
А, еще вопросик. Как результат SELECT запроса отобразить в QListView? Пробую так, не получается.

m_model = new QSqlQueryModel(this);
m_model->setHeaderData(0, Qt::Horizontal, QObject::tr("Наименование"));
m_model->setQuery(sqlStoredExecute(m_database, "ReadAllPosition", QMap<QString, QVariant>(map)));

listViewDictionaty->setModel(m_model);
Гость
Первый вопрос решен. Подскажите по второму пожалуйста.
lanz
sqlStoredExecute(m_database, "ReadAllPosition", QMap<QString, QVariant>(map));

Возвращает QSqlQuery или QString?
Если QSqlQuery, то
Цитата
Note that the query must be active and must not be isForwardOnly().

т.е.
Цитата
An active QSqlQuery is one that has been exec()'d successfully but not yet finished with. When you are finished with an active query, you can make make the query inactive by calling finish() or clear(), or you can delete the QSqlQuery instance.
Гость
Возвращает QSqlQuery. isForwardOnly(false) не используется.
Не работает все равно.
lanz
Ну про форвард это на всякий случай, основное, то что
Цитата
Note that the query must be active

Т.е. внутри функции sqlStoredExecute должно выполнятся QSqlQuery::exec у возвращаемого query.

Попробуйте вставить просто операторы sql как строку в вызов setQuery.
Гость
Цитата
Попробуйте вставить просто операторы sql как строку в вызов setQuery.

Так работает, норма. А через ХП нет. Я пробегаюсь по QsqlQuery

while(query.next()){
QMessageBox::information ....
}

Все норма, query содержит все записи таблицы, а на вьюху не выводит.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.