Название: Проблема с загрузкой таблицы из базы данных или дело в непонимании Отправлено: mikh от Июнь 29, 2010, 09:48 Есть некоторый класс dbase. Соответственно в dbase.ui моя форма(кнопка загрузить таблицу и сама таблица QTableView view). В конструкторе класса подключаюсь к БД в которой находится таблица tabl. И тут возник вопрос, для опытного, я думаю, достаточно простой: как увидеть содержимое таблицы в моей форме? Как сделал я: в dbase.cpp определил слот load в котором создал модель, загрузил туда данные из БД и соответственно ui->view->setModel(model). В конструкторе приконнектил сигнал нажатия кнопки к слоту load. Программа запускается без проблем и ошибок, но вот view что-то ничего не отображает. Что интересно, если быстро щелкать по кнопке то в таблице что-то улавливается:)
В чем моя ошибка? Заранее спасибо! Название: Re: Проблема с загрузкой таблицы из базы данных или дело в непонимании Отправлено: crossly от Июнь 29, 2010, 09:51 код покажи...
Название: Re: Проблема с загрузкой таблицы из базы данных или дело в непонимании Отправлено: mikh от Июнь 29, 2010, 10:18 dbase.cpp
Код: #include "dbase.h" здесь я таблицу назвал employee Название: Re: Проблема с загрузкой таблицы из базы данных или дело в непонимании Отправлено: crossly от Июнь 29, 2010, 10:27 во первых.... соединение открывать надо....
во вторых.... модель вы создаете на стэке.... при выходе из слота она удаляется.... Название: Re: Проблема с загрузкой таблицы из базы данных или дело в непонимании Отправлено: mikh от Июнь 29, 2010, 10:39 1) а можно подробнее, чтото не оч понял както
2) т.е. объявить гдето вне? или как? Название: Re: Проблема с загрузкой таблицы из базы данных или дело в непонимании Отправлено: mikh от Июнь 29, 2010, 11:15 изменил следующее:
Код: #include "dbase.h" Я правильно сделал? или можно по грамотней? Название: Re: Проблема с загрузкой таблицы из базы данных или дело в непонимании Отправлено: crossly от Июнь 29, 2010, 11:52 ну если по логике.... то
Код: ui->view->setModel(model); Название: Re: Проблема с загрузкой таблицы из базы данных или дело в непонимании Отправлено: lit-uriy от Июнь 29, 2010, 15:46 >>1) а можно подробнее, чтото не оч понял както
Код
Название: Re: Проблема с загрузкой таблицы из базы данных или дело в непонимании Отправлено: mikh от Июнь 29, 2010, 20:15 на самом деле чтото не въезжаю ???
Код: #include "dbase.h" не могли бы объяснить что происходит при Код: model->setTable("employee"); Код: model->select(); Код: ui->view->setModel(model); Читал описание этих функции, но ничего вразумительного не нашел. Попробовал записывать их в разных местах, ничего интересного не увидел. Откровенно скажу, пока слабоват в таких моментах. что и где должно быть. Название: Re: Проблема с загрузкой таблицы из базы данных или дело в непонимании Отправлено: lit-uriy от Июнь 29, 2010, 21:16 >>model->setTable("employee");
устанавливает таблицу, с которой будет работать модель (при этом модель проверяет - есть ли в БД такая таблица) >>model->select(); модель делает примерно следующее SELECT * FROM <тут имя таблицы установленной в предыдущем методе> и полученными данными заполняет свою внутреннюю структуру, посылает всем заинтересованным объектам (например, представлениям) сигнал о том, что данные в модели изменились >>ui->view->setModel(model); устанавливает модель для этого представления, т.е. представление будет отображать данные из заданной модели. |