Russian Qt Forum
Июнь 16, 2024, 05:14 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

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

Страниц: [1] 2   Вниз
  Печать  
Автор Тема: Вывод таблицы база данных в Qt  (Прочитано 18028 раз)
alim
Гость
« : Май 18, 2009, 23:57 »

Как получить таблицу из базы данных и вывести это всё в QT?((
« Последнее редактирование: Май 19, 2009, 20:02 от pastor » Записан
ритт
Гость
« Ответ #1 : Май 19, 2009, 00:17 »

:rtfm: QSqlTableModel
Записан
alim
Гость
« Ответ #2 : Май 19, 2009, 01:03 »

подскажите в чем проблема...

база данных подключается,а вот есть проблема с отображением данных,правильно ли я использую QSqlTableModel model = QSqlTableModel(parent, db); что за параметр parent ?

#include <QApplication>
#include <QFont>
#include <QPushButton>
#include <QMessageBox>
#include <QWidget>
#include <QtSql>
#include <QObject>

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);

        QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");
        db.setDatabaseName("sq");
        db.setUserName("ali");
        if (true == db.open()){
           QMessageBox box;
                box.setText("Connection is open!");
                box.exec();
        }
         else
         {
                QMessageBox box;
                box.setText("Connection is close!");
                box.exec();
         }

    QSqlQuery query;

    QSqlTableModel model = QSqlTableModel(parent, db);
    model.setTable("Industry");          // Имя таблицы базы данных.
    model.select();

   QTableView view;
   view.setModel(&model);
   view.show();

 db.close();
    return app.exec();
}
Записан
agok
Гость
« Ответ #3 : Май 19, 2009, 06:20 »

может нужно убрать строку
db.close();
Записан
developer
Гость
« Ответ #4 : Май 19, 2009, 11:34 »

if (true == db.open()){ Непонимающий Непонимающий Непонимающий Непонимающий Непонимающий Непонимающий Непонимающий
Записан
developer
Гость
« Ответ #5 : Май 19, 2009, 11:37 »

А ты прописал, свою базу в системе(ето делаеться через панель управления). Точно не помню какой ярлычок надо нажымать Подмигивающий
Записан
spirit
Гость
« Ответ #6 : Май 19, 2009, 12:23 »

вот так попробуй
Код
C++ (Qt)
...
   QSqlTableModel *model = new QSqlTableModel(parent, db);
   model->setTable("Industry");          // Имя таблицы базы данных.
   model->select();
 
  QTableView view;
  view.setModel(model);
  view.show();
...
 
Записан
alim
Гость
« Ответ #7 : Май 19, 2009, 15:42 »

да все прописал,соединение с базой проходит!

QSqlTableModel *model = new QSqlTableModel(parent, db);

ошибка такого сорта: "parent" was not declared in this scope

Объясните пож-та что есть parent
Записан
alim
Гость
« Ответ #8 : Май 19, 2009, 15:45 »

to agok:

ты прав,спасибо))
Записан
spirit
Гость
« Ответ #9 : Май 19, 2009, 15:48 »

хз, что у тебя есть парент, просто код скопировал и подправил.
пробуй так
Код
C++ (Qt)
...
   QSqlTableModel *model = new QSqlTableModel(0, db);
   model->setTable("Industry");          // Имя таблицы базы данных.
   model->select();
 
  QTableView view;
  view.setModel(model);
  view.show();
...
 
Записан
developer
Гость
« Ответ #10 : Май 19, 2009, 15:55 »

Цитировать
QSqlTableModel *model = new QSqlTableModel(parent, db);

ошибка такого сорта: "parent" was not declared in this scope

В коде нету переменной parent, потому и материться. В твоем случаe лучше сделать так как написал spirit.
Записан
alim
Гость
« Ответ #11 : Май 19, 2009, 16:58 »

спасибо,всё исправил) работает)
Записан
ритт
Гость
« Ответ #12 : Май 19, 2009, 19:07 »

мля, как же мне хочется грохать такие темы...
Записан
Khs
Гость
« Ответ #13 : Май 19, 2009, 20:00 »

а правила то кстати есть..  В замешательстве
Записан
break
Гипер активный житель
*****
Offline Offline

Сообщений: 846


Просмотр профиля
« Ответ #14 : Май 24, 2009, 00:55 »

Код:
мля, как же мне хочется грохать такие темы...
Это будет правильно
Записан
Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  


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