Название: SQLite + GUI Отправлено: sinbad7 от Декабрь 01, 2010, 13:32 Может кто-нибудь кинуть в тему архивчик такого проекта
1 форма, 1 TableView на ней, одна БД SQLite с одной таблицей с одним полем, чтобы эта таблица была присоединена к TableView с помощью модели? Заранее благодарен. Посылки в сторону гугла и книжек не принимаю. Название: Re: SQLite + GUI Отправлено: crossly от Декабрь 01, 2010, 13:39 а не надо ни в книжки ни в гугл... открой примеры Qt и посмотри...
Название: Re: SQLite + GUI Отправлено: sinbad7 от Декабрь 01, 2010, 14:26 если бы ты ознакомился с примерами, ты бы так не говорил
Название: Re: SQLite + GUI Отправлено: crossly от Декабрь 01, 2010, 14:40 ознакамливался... лет 5 назад... и вопрос на твой вопрос я там ответ нашел....
Название: Re: SQLite + GUI Отправлено: sinbad7 от Декабрь 01, 2010, 15:21 Итак что мы имеем
примеры из ветки SQL 1. Cashed Table - нет формы, БД создается в памяти хоть это и не столь критично, но все-таки 2. Drill Down - нет формы, БД создается в памяти 3. Query Model - нет формы, БД создается в памяти 4. Relational Table Model - нет формы, БД создается в памяти 5. Table Model - нет формы, БД создается в памяти 6. Music Archive - нет формы, БД создается в памяти 7. SQL Widget Mapper - нет формы, БД создается в памяти Может у меня примеры не те что 5 лет назад? Название: Re: SQLite + GUI Отправлено: sergun1604 от Декабрь 01, 2010, 15:33 Человек задал конкретный вопрос, надо дать ему конкретный ответ.
Дружище я тебе архив не буду высылать скажу как я сделал. 1 Создал форму 2 Кинул табле виев 3 Создается база в каталоге с прогой Код: QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); //подключаем драйвер базы 4 Таблицы я создавал с помощью sqlitebrowser 5 Запрсы к ним организовывал с помощью QSqlQuery query; //запрос QString StrName; //строка query.exec("SELECT * FROM ktr;"); //извлечь увсе строки из контрагентов Название: Re: SQLite + GUI Отправлено: sinbad7 от Декабрь 01, 2010, 16:06 Спасибо Сергей, за ответ, скажи только, вот этот код ты где набирал в каком из файлов проекта? И еще хотелось бы про модель немного...
Название: Re: SQLite + GUI Отправлено: crossly от Декабрь 01, 2010, 16:14 Итак что мы имеем примеры из ветки SQL 1. Cashed Table - нет формы, БД создается в памяти хоть это и не столь критично, но все-таки 2. Drill Down - нет формы, БД создается в памяти 3. Query Model - нет формы, БД создается в памяти 4. Relational Table Model - нет формы, БД создается в памяти 5. Table Model - нет формы, БД создается в памяти 6. Music Archive - нет формы, БД создается в памяти 7. SQL Widget Mapper - нет формы, БД создается в памяти Может у меня примеры не те что 5 лет назад? QTableView это GUI... если это не тот вариант то возьмите к примеру QWIdget и положите view на него.... для того что бы база создавалась не в памяти нужно всего лишь заменить :memory: на имя файла в котором вы хотите хранить... Название: Re: SQLite + GUI Отправлено: sinbad7 от Декабрь 01, 2010, 16:21 Цитировать QTableView это GUI... если это не тот вариант то возьмите к примеру QWIdget и положите view на него.... под GUI я подразумеваю файл формы созданный в QT Creator, а не создаваемый динамически в коде, насчет базы я сказал что для меня это неважно. Для меня проблема в том, где что будет находиться и как оно между собой связывается.для того что бы база создавалась не в памяти нужно всего лишь заменить :memory: на имя файла в котором вы хотите хранить... Название: Re: SQLite + GUI Отправлено: sergun1604 от Декабрь 01, 2010, 16:24 файл .срр не забудь подключить SQL
#include "QtSql" Код: QSqlQueryModel *md = new QSqlQueryModel; //модель Название: Re: SQLite + GUI Отправлено: crossly от Декабрь 01, 2010, 16:34 данный код даст утечку.... если не удалить модель в деструкторе ...
Название: Re: SQLite + GUI Отправлено: sinbad7 от Декабрь 01, 2010, 16:42 Программа компилится, но не запускается, вылетает с ошибкой что не так?
Название: Re: SQLite + GUI Отправлено: crossly от Декабрь 01, 2010, 16:47 ui->setupUi(this) должен быть в начале конструктора
Название: Re: SQLite + GUI Отправлено: sergun1604 от Декабрь 01, 2010, 16:55 что за ошибка?
(кстати crossly а как удалить модель в деструктере, меня волнует эта тема) Название: Re: SQLite + GUI Отправлено: crossly от Декабрь 01, 2010, 17:07 Код: delete md; Название: Re: SQLite + GUI Отправлено: sinbad7 от Декабрь 01, 2010, 17:45 Теперь запускается, но ничего не отображает в TableView
Название: Re: SQLite + GUI Отправлено: crossly от Декабрь 01, 2010, 18:13 во избежание ошибок указывайте полный путь и имя файла...
Код: db.setDatabaseName(QCoreApplication::applicationDirPath()+"/test.db3"); Название: Re: SQLite + GUI Отправлено: sinbad7 от Декабрь 01, 2010, 18:58 C определением пути через функцию чего то не получилось(может база должна лежать рядом с exe файлом?), прописал в текстовом виде и заработало, правда слэши пришлось по 2 раза ставить. Спасибо за помощь!
Название: Re: SQLite + GUI Отправлено: sergun1604 от Декабрь 02, 2010, 09:52 Crossly благодарю за ответ, я как раз здесь парился что у меня бинарник не подхватывает SQLite, хотя в qt норм запускается при отладке
Название: Re: SQLite + GUI Отправлено: sinbad7 от Декабрь 21, 2010, 19:54 Код: md->setHeaderData(1,Qt::Horizontal,trUtf8("Наименоваие\n товара")); //создаем имя столбца наме Название: Re: SQLite + GUI Отправлено: crossly от Декабрь 21, 2010, 20:55 в какой кодировке исходники?
Название: Re: SQLite + GUI Отправлено: sinbad7 от Декабрь 21, 2010, 21:16 пишу в винде, в QT Creator, наверно win1251 http://clip2net.com/s/Gg1p
в Total Commander Lister показывает ANSI Windows Название: Re: SQLite + GUI Отправлено: crossly от Декабрь 21, 2010, 21:41 переведите в utf8....или используйте
Код: void QTextCodec::setCodecForTr ( QTextCodec * c ) [static] Код: void QTextCodec::setCodecForTr ( QTextCodec * c ) [static] Название: Re: SQLite + GUI Отправлено: sinbad7 от Декабрь 21, 2010, 21:57 поменял кодировку файла, теперь в программе работает нормально а в окне QT Creator показывает кракозяблы, попробую с кодеками
Название: Re: SQLite + GUI Отправлено: BRE от Декабрь 21, 2010, 21:59 поменял кодировку файла, теперь в программе работает нормально а в окне QT Creator показывает кракозяблы, попробую с кодеками Лучше в исходниках использовать кодировку utf8, а в creator изменить кодировку по умолчанию на utf8, и все будет показываться нормально.Название: Re: SQLite + GUI Отправлено: sinbad7 от Декабрь 21, 2010, 22:07 Спасибо, теперь работает и в программе и отображается в Creatore.
|