![]() |
|
![]() ![]() ![]() |
|
Acer |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 652 Регистрация: 5.9.2007 Где: UA::DN Репутация: 15 Всего: 8 |
БД: MSSQL
Qt 4.5.2 Windows XP sp2 Пытаюсь взять данные из MSSQL. Тип поля text. Есть класс для работы с БД, который содержит метод для получения значения ячейки:
dbq - QSqlQuery Вызываю его таким образом:
12 - столбец в таблице БД. dt - структура. resume_dmpt_long - QString; Запрос большой, все значения получаю нормально, а вот при получении этого значения(поле text) происходит непонятно что. Например, запрос возвращает 2 строки. Все записывается в структуру нормально, если заэкранировать получение этого поля text. Если не экранировать, то в цыкле получения данных происходит только первая итерация и затем выход из цыкла. В чем тут может быть проблема? |
||||
|
|||||
Acer |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 652 Регистрация: 5.9.2007 Где: UA::DN Репутация: 15 Всего: 8 |
Если взять вот такой вот код(выборка та же, что и в предыдущем посте), то корректно работает только до
qDebug() << dbq.value( 11 ); QSqlQuery::numRowsAffected() возвращает 2 Если не получать 12-й элемент, то нормально проходит 2 итерации цыкла. А если с 12-м элементом, то только 1 итерация
|
|||
|
||||
korbian |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 336 Регистрация: 20.2.2007 Где: Penza Репутация: 1 Всего: 14 |
Acer, вы уверены, что 12 элемент (естественно QSqlQuery нумерует элементы от 0) вообще существует?
к примеру, при несуществующем столбце такой вызов делает inactive сам запрос и следующий вызов dbq.numRowsAffected() вернет -1 и цикл завершится. -------------------- korbian © |
|||
|
||||
Acer |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 652 Регистрация: 5.9.2007 Где: UA::DN Репутация: 15 Всего: 8 |
Столбцов всего 29. Конечно же 12-й существует. Я уже решил проблему следующим образом: Заменил конструкцию
на
Так все работает. Выбираются все 29 столбцов из всех возвращенных запросом строк. |
||||||
|
|||||||
![]() ![]() ![]() |
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |