Russian Qt Forum

Qt => Базы данных => Тема начата: Makss от Ноябрь 27, 2008, 20:23



Название: Нужно вытащить все названия полей в таблице
Отправлено: Makss от Ноябрь 27, 2008, 20:23
Вот код выбора всех полей из таблицы:

Код:
QSqlDatabase db = QSqlDatabase::database();
if(db.isOpen())
{
QWARNING("!!!");
QString str = "ob_f_razd";//имя таблицы
QSqlRecord rec = db.record(str);
QWARNING(QString("count fields %1").arg(rec.count()));//Выводится количество полей
}
на консоль выводится это:
Код:
!!!
count fields 0

что в коде не так?

должен вывести число больше чем нуль, т.к. таблица существует, но выводит всегда 0 для любых таблиц какие бы я ему не дал!!!


Название: Re: Нужно вытащить все названия полей в таблице
Отправлено: Пантер от Ноябрь 28, 2008, 07:28
QSqlDatabase db = QSqlDatabase::database(); - лажа какая-то. Как создается подключение?


Название: Re: Нужно вытащить все названия полей в таблице
Отправлено: BaltikS от Ноябрь 28, 2008, 07:44
Есть пример sqlbrowser из папки Demos, там всё что вам нужно есть


Название: Re: Нужно вытащить все названия полей в таблице
Отправлено: Makss от Ноябрь 28, 2008, 13:41
QSqlDatabase db = QSqlDatabase::database(); - лажа какая-то. Как создается подключение?
тут всё нормально, я выводил список всех таблиц в базе, и через QSqlQuery делал запросы, всё работает!!!

Не работает только вытаскивание названия полей из таблиц, в примерах QT - sqlbrowser тоже самое, не выводится названия полей таблиц, и вывел тоже на консоль rec.count() и тоже вывелось ноль


Название: Re: Нужно вытащить все названия полей в таблице
Отправлено: Rcus от Ноябрь 28, 2008, 14:56
Может хотя бы имя субд назовете, а так похоже на проблему с PostgreSQL >= 8.3 && Qt < 4.5


Название: Re: Нужно вытащить все названия полей в таблице
Отправлено: Makss от Ноябрь 28, 2008, 15:19
Windows:
Postgres 8.3
Qt 4.4

Linux:
Qt 4.4
Postgres - не помню

и там и там результат один и тот же


Название: Re: Нужно вытащить все названия полей в таблице
Отправлено: Rcus от Ноябрь 28, 2008, 15:25
На полстраницы ниже в данном разделе эта тема уже обсуждалась
http://www.prog.org.ru/topic_7957_0.html


Название: Re: Нужно вытащить все названия полей в таблице
Отправлено: Makss от Ноябрь 28, 2008, 15:34
ясно спасибо!!!