Название: Наследование Отправлено: 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 от Апрель 16, 2007, 07:38 Цитировать model->setQuery(selectSQL, db); setQuery - это защищенная функция для QSqlTableModel. Поэтому ошибка. Прежде всего надо читать документацию. Используй для выборки: model->setFilter ( const QString & filter ); model->select(); Для таблицы ( tableView ) в которой представляешь результаты запроса tableView->setColumnHidden( int column, bool st ); |