|
|
|
Qt и MSSQL 2005
|
|||
|---|---|---|---|
|
#18+
chagosergMSSQL 2005, Qt 4.8, QODBC Имеется хранимая процедура простого содержания: Код: sql 1. Отрабатывает без проблем. Изменяю текст процедуры на: Код: sql 1. 2. (IF 3=3 для примера, на самом деле любая проверка) Ошибок запроса нет, но и результата на клиенте нет тоже. При попытке тут же повторить запрос ответ "Подключение занято". [Microsoft][ODBC SQL Server Driver]Подключение занято до получения результатов для другого hstmt QODBC3: Unable to execute statement При этом другой клиент (не Qt) через ODBC в обоих случаях результат получает. В чём может быть проблема? А, это... Есть ещё один прикол. Поставь в процедуре, в самом начале, оператор Set nocount on ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2013, 16:20 |
|
||
|
Qt и MSSQL 2005
|
|||
|---|---|---|---|
|
#18+
Koschey, Я не заметил сразу, что это старая тема. На самом деле это все были какие-то необъяснимые глюки. Решения в топике нет. Я может мог бы посмотреть на это дело, но для этого нужны не просто слова, а точное репро. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2013, 16:45 |
|
||
|
Qt и MSSQL 2005
|
|||
|---|---|---|---|
|
#18+
Столкнулся с такой же проблемой. В хранимой процедуре нельзя ничего разместить кроме одного селекта. Воспользовался советом Fte. Я что то путных советов от него в теме не, видел. Идея с функцией с инструкциями, ... Дальше идет какой-то совсем непонятный тест, который я лично вообще не понимаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2013, 00:56 |
|
||
|
Qt и MSSQL 2005
|
|||
|---|---|---|---|
|
#18+
MasterZiv, Здесь автор привел не совсем удачный пример, поставив условие перед запросом. На самом деле всё равно, что написать в процедуре перед селектом. Я например просто присваивал значения локальным переменным: declare @loc_idUSer int, @loc_dFlight datetime, @loc_dUpdate datetime set @loc_idUser = @idUser set@loc_dFlight = cast(@dDateFlight as datetime) set @loc_dUpdate = cast(@dLastUpdate as datetime) select a1, a2, a3 from table1 where .... Если убрать присваивания и оставить только селект все работает нормально, вернуть на место и набор не возвращается. С NOCOUNT я то же экспериментировал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2013, 02:49 |
|
||
|
Qt и MSSQL 2005
|
|||
|---|---|---|---|
|
#18+
А Fte предложил вместо процедуры использовать функцию возвращающую набор данных: modelFPList->setQuery("select * from dbo.myfunc(2)"); Так получается получить данные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2013, 02:55 |
|
||
|
Qt и MSSQL 2005
|
|||
|---|---|---|---|
|
#18+
На самом деле вся проблема в QSqlQueryModel, которая не поддерживает forwardOnly запросы. Проблема давно решена созданием собственной модели. >Здесь автор привел не совсем удачный пример, поставив условие перед запросом. Пример вполне себе удачный - он воспроизводит ошибку, которая изначально вообще была не понятно в чём :) А в результате выяснилось, что простые запросы и результаты табличных функций возвращаются нормальными запросами, а все остальные - forwardOnly. Если есть вопросы - отвечу с удовольствием, но только через неделю ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2013, 18:32 |
|
||
|
Qt и MSSQL 2005
|
|||
|---|---|---|---|
|
#18+
Ребята , помогите пожалуйста. Пытаюсь заливать данные из процедуры в QTableView. В результате ничего не возхвращается, хотя названия полей и даже количество строк есть , но сами ячейки пустые. В посте выше было указано, что QSqlQueryModel, которая не поддерживает forwardOnly запросы, но как решать данную проблему я так и не понял. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2015, 14:52 |
|
||
|
Qt и MSSQL 2005
|
|||
|---|---|---|---|
|
#18+
_s_e_r_g_e_, что QSqlQueryModel не поддерживает forward-only -курсоры, я не уверен. Я помню, что вроде бы его использовал, но я запросы использовал всегда только в процедурах, т.е. они должны были быть 100% forward-only -курсоры. Даже если не поддерживает -- ты можешь не использовать QTableView или не использовать QSqlQueryModel, а написать свою модель (проще) или свою view (сложнее). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2015, 15:47 |
|
||
|
Qt и MSSQL 2005
|
|||
|---|---|---|---|
|
#18+
Вроде бы в доке ничего такого не сказано про QTableView, что она должна базироваться на двунаправленном курсоре. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2015, 15:49 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=39049354&tid=2018849]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
178ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
2ms |
| others: | 213ms |
| total: | 494ms |

| 0 / 0 |
