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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Наследование  (Прочитано 3858 раз)
Alex00
Гость
« : Апрель 16, 2007, 06:03 »

QSqlTableModel наследует от QSqlQueryModel, пытаюсь скомпилировать такой код:
...
QSqlDatabase db = QSqlDatabase::database("BASE");                                                        
model = new QSqlTableModel(this);
selectSQL = "SELECT NAME,RNN,ADRES FROM S_KONTR ORDER BY NAME";
model->setQuery(selectSQL, db);
...
При этом для последней строки в примере, компилятор пишет
error: no matching function for call to 'QSqlTableModel::setQuery(selectSQL, db)'
Это значит, что QSqlTableModel не позволит делать запросы
 при помощи setQuery(selectSQL, db)?
Нужны не все столбцы из таблицы и я хотел этим путем выбрать.Что сделать?
Записан
Mikhail
Программист
*****
Offline Offline

Сообщений: 587


Просмотр профиля
« Ответ #1 : Апрель 16, 2007, 07:38 »

Цитировать

model->setQuery(selectSQL, db);


setQuery - это защищенная функция для QSqlTableModel. Поэтому ошибка.

Прежде всего надо читать документацию.

Используй для выборки:
model->setFilter ( const QString & filter );
model->select();

Для таблицы ( tableView ) в которой представляешь результаты запроса
tableView->setColumnHidden( int column, bool st );
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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