Russian Qt Forum
Сентябрь 30, 2024, 10:32 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: вывод результата запроса SQL  (Прочитано 6661 раз)
asrael
Гость
« : Январь 24, 2011, 12:45 »

господа, кто подскажет, как лучше, легче, проще всего отобразить результат SQLite-запроса в textedit?
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #1 : Январь 24, 2011, 12:55 »

QVariant QSqlQuery::value ( int index ) const
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
asrael
Гость
« Ответ #2 : Январь 24, 2011, 13:03 »

это понятно..)
но тут нужно в цикле тогда всё делать и узнавать количество столбцов..
это единственный вариант?
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #3 : Январь 24, 2011, 13:08 »

QSqlRecord QSqlQuery::record () const
Оттуда достанешь количество столбцов, а потом цикл. Что еще проще?
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
asrael
Гость
« Ответ #4 : Январь 24, 2011, 13:16 »

ну, SQLite ведь в командную строку как-то выводит результат запроса, так почему бы не быть такой же функции в Qt? =)
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #5 : Январь 24, 2011, 13:34 »

Код
C++ (Qt)
QString sqlQueryToString (QSqlQuery &query, const QString& columnSeparator = "\t", const QString& rowSeparator = "\n") {
   QString result;
 
   const int columnCount = query.record ().count ();
   if (!query.first ()) {
       return result;
   }
 
   do {
       QStringList l;
       for (int i = 0; i < columnCount ; ++i) {
           l.append (query.value (i).toString ());
       }
       result += l.join (columnSeparator) + rowSeparator;
   } while (query.next ());
 
   return result;
}
 
Не проверял. Вывод хедера сам допиши, если нужно.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
asrael
Гость
« Ответ #6 : Январь 24, 2011, 13:50 »

блин..) спасибо, конечно, за это.. но до таких вещей я и сам дошел..)
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.104 секунд. Запросов: 22.