Russian Qt Forum

Qt => Базы данных => Тема начата: asrael от Январь 24, 2011, 12:45



Название: вывод результата запроса SQL
Отправлено: asrael от Январь 24, 2011, 12:45
господа, кто подскажет, как лучше, легче, проще всего отобразить результат SQLite-запроса в textedit?


Название: Re: вывод результата запроса SQL
Отправлено: Пантер от Январь 24, 2011, 12:55
QVariant QSqlQuery::value ( int index ) const


Название: Re: вывод результата запроса SQL
Отправлено: asrael от Январь 24, 2011, 13:03
это понятно..)
но тут нужно в цикле тогда всё делать и узнавать количество столбцов..
это единственный вариант?


Название: Re: вывод результата запроса SQL
Отправлено: Пантер от Январь 24, 2011, 13:08
QSqlRecord QSqlQuery::record () const
Оттуда достанешь количество столбцов, а потом цикл. Что еще проще?


Название: Re: вывод результата запроса SQL
Отправлено: asrael от Январь 24, 2011, 13:16
ну, SQLite ведь в командную строку как-то выводит результат запроса, так почему бы не быть такой же функции в Qt? =)


Название: Re: вывод результата запроса SQL
Отправлено: Пантер от Январь 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;
}
 
Не проверял. Вывод хедера сам допиши, если нужно.


Название: Re: вывод результата запроса SQL
Отправлено: asrael от Январь 24, 2011, 13:50
блин..) спасибо, конечно, за это.. но до таких вещей я и сам дошел..)