Название: Пошаговая инструкция. Работа с базой данных SQLite на Qt C++ Отправлено: 8Observer8 от Март 13, 2014, 14:46 Инструментарий
- SDK Qt 5.2.0 - ОС Windows 7 Примечания 1) Инструкция составлена по видео: http://www.youtube.com/watch?v=cc06D3wuTn4 (http://www.youtube.com/watch?v=cc06D3wuTn4) 2) По следующей ссылке написано, как вставлять, редактировать и удалять ряды таблицы базы данных: http://zetcode.com/db/sqlite/datamanipulation/ (http://zetcode.com/db/sqlite/datamanipulation/) Внешний вид приложения и описание Приложение подключается к базе данных, где хранятся имена и пароли пользователей. Если пользователь вводит правильный пароль, то выводится сообщение: (http://i7.pixs.ru/storage/9/6/5/151png_2788164_11228965.png) Инструкция - открываем браузер Mozilla Firefox - в меню браузера выбираем "Web Developer" -> выбираем "SQLite Manager" Примечание. Если Вы не нашли у себя "SQLite Manager", то установите: https://addons.mozilla.org/en-US/firefox/addon/sqlite-manager/?src= - в меню "SQLite Manager" выбираем "Database" -> выбираем "New Database" - в открывшемся окне вводим имя базы данных, к примеру: Accounts Примечание. При выборе пути для сохранения базы данных, нужно учитывать, что этот путь должен совпадать с тем путём, который вернёт статический метод QDir::currentPath() - в меню выбираем "Table" -> "Create Table" - заполняем форму, как показано на рисунке: (http://i.pixs.ru/storage/7/3/8/001png_1661540_11217738.png) - заполняем таблицу, как показано на рисунке: (http://i.pixs.ru/storage/7/5/1/002png_4860268_11217751.png) - запускаем Qt Creator - если у Вас Qt Creator на русском, то я рекомендовал бы переключиться на английский. Для этого выбираем в меню "Инструменты" -> "Параметры..." - в окне "Параметры" слева выбираем "Среда" -> открываем вкладку "Основные" -> выбираем в выпадающем списке "English" -> нажимаем кнопку "OK" -> перезапускаем Qt Creator - в меню Qt Creator'а выбираем "File" -> "New File or Project..." (Ctrl+N) - в разделе "Projects" выбираем "Applications" -> во второй колонке выбираем "Qt Widgets Application" - нажимаем кнопку "Choose" - в поле "Name" вводим: DatabaseLoginForm и нажимаем "Next" (2 раза) - в поле "Base Class" выбираем "QDialog" -> нажимаем "Next" -> нажимаем "Finish" - скачиваем исходный код проекта (кнопка "Download ZIP" справа-внизу): https://github.com/8Observer8/DatabaseLoginForm (https://github.com/8Observer8/DatabaseLoginForm) - заменяем файлы текущего проекта на файлы из скаченного - нажимаем Ctrl+R, чтобы запустить программу P.S. На всякий случай привожу все файлы проекта здесь DatabaseLoginForm.pro Код
main.cpp Код
dialog.h Код
dialog.cpp Код
dialog.ui Код
Название: Re: Пошаговая инструкция. Работа с базой данных SQLite на Qt C++ Отправлено: gil9red от Март 13, 2014, 16:15 В примерах видел гуи-клиент, который работает с базами данных, причем работает с любыми драйверами :)
Нашел :) Лежал в демо, называется SQL Browser Название: Re: Пошаговая инструкция. Работа с базой данных SQLite на Qt C++ Отправлено: 8Observer8 от Март 13, 2014, 16:20 В примерах видел гуи-клиент, который работает с базами данных, причем работает с любыми драйверами :) Отлично! Спасибо! Посмотрю в примерах Qt'а :) Название: Re: Пошаговая инструкция. Работа с базой данных SQLite на Qt C++ Отправлено: OKTA от Март 13, 2014, 16:43 А вот еще удобная ссылочка для начинающих http://www.sqlite.org/lang.html
Название: Re: Пошаговая инструкция. Работа с базой данных SQLite на Qt C++ Отправлено: 8Observer8 от Март 13, 2014, 16:57 А вот еще удобная ссылочка для начинающих http://www.sqlite.org/lang.html Я тоже это находил. Но мне кажется, что для начинающих это сложновато. Я только по простым примерам могу разбираться. Вот эта ссылка мне очень помогла: http://zetcode.com/db/sqlite/datamanipulation/ Я добавил в инструкцию вот такой текст: Цитировать Примечания 1) Инструкция составлена по видео: http://www.youtube.com/watch?v=cc06D3wuTn4 (http://www.youtube.com/watch?v=cc06D3wuTn4) 2) По следующей ссылке написано, как вставлять, редактировать и удалять ряды таблицы базы данных: http://zetcode.com/db/sqlite/datamanipulation/ (http://zetcode.com/db/sqlite/datamanipulation/) Я ещё написал английский вариант этой инструкции. Я плохо знаю английский, поэтому если вы найдёте какие-то грубые ошибки, то, пожалуйста, напишите в этой теме. Ссылка на инструкцию: http://qtobserver.freeoda.com/qt_sqlite.php Название: Re: Пошаговая инструкция. Работа с базой данных SQLite на Qt C++ Отправлено: OKTA от Март 13, 2014, 17:51 Для меня вот этот клиент удобнее - http://www.sqlabs.com/sqlitemanager.php
А в Мозилле у меня такого редактора кстати нет )) А насчет инструкции - по мне так крайне не познавательная - лучше бы сделал простой консольный проект, в котором создается бд с одной таблицей, в нее вносятся значения, читаются и удаляются. - Все было бы удобно и понятно - без лишних всяких диалогов, внешних редакторов и лирических отступлений. Ну это конечно мое мнение)) Название: Re: Пошаговая инструкция. Работа с базой данных SQLite на Qt C++ Отправлено: xintrea от Март 14, 2014, 07:42 Для меня вот этот клиент удобнее - http://rutracker.org/forum/viewtopic.php?t=2810147 SQLiteManager. Ты за него заплатил, или с торента скачал взломанный и другим советуешь? Название: Re: Пошаговая инструкция. Работа с базой данных SQLite на Qt C++ Отправлено: OKTA от Март 14, 2014, 07:49 Поправил ссылку 8)
Там не обязательно покупать - демо-версия ограничена количеством строк в запросах 8) Название: Re: Пошаговая инструкция. Работа с базой данных SQLite на Qt C++ Отправлено: carrygun от Март 14, 2014, 10:14 Есть фришный SQLite Database Browser, написан на Qt, всегда им пользовался и был доволен.
Название: Re: Пошаговая инструкция. Работа с базой данных SQLite на Qt C++ Отправлено: 8Observer8 от Март 14, 2014, 11:19 Есть фришный SQLite Database Browser, написан на Qt, всегда им пользовался и был доволен. Спасибо большое! Пока буду пользоваться SQLite Manager из FireFox'a. А если такой возможности не будет, то скачаю SQLite Database Browser :) Добавил в инструкцию внешний вид приложения и описание: Внешний вид приложения и описание Приложение подключается к базе данных, где хранятся имена и пароли пользователей. Если пользователь вводит правильный пароль, то выводится сообщение: (http://i7.pixs.ru/storage/9/6/5/151png_2788164_11228965.png) Название: Re: Пошаговая инструкция. Работа с базой данных SQLite на Qt C++ Отправлено: OKTA от Март 14, 2014, 13:06 Добавь версию файерфокса. Говорю же - в моем нет мэнэджера. И всякий, кто откроет эту инструкцию, тут же ее закроет, не найдя этот мэнеджер в своей мозилле..
Название: Re: Пошаговая инструкция. Работа с базой данных SQLite на Qt C++ Отправлено: 8Observer8 от Март 14, 2014, 13:40 to OKTA
Добавил в инструкцию вот такой текст: Примечание. Если Вы не нашли у себя "SQLite Manager", то установите: https://addons.mozilla.org/en-US/firefox/addon/sqlite-manager/?src= Название: Re: Пошаговая инструкция. Работа с базой данных SQLite на Qt C++ Отправлено: OKTA от Март 14, 2014, 13:58 much more better)
Название: Re: Пошаговая инструкция. Работа с базой данных SQLite на Qt C++ Отправлено: panAlexey от Март 14, 2014, 16:09 Было бы неплохо такую же инструкцию по FireBird
Название: Re: Пошаговая инструкция. Работа с базой данных SQLite на Qt C++ Отправлено: 8Observer8 от Март 15, 2014, 06:15 Было бы неплохо такую же инструкцию по FireBird Я хочу с SQLite сначала освоиться. Мне пока этой базы данных будет достаточно. Потом MySQL. А дальше посмотрим :) Название: Re: Пошаговая инструкция. Работа с базой данных SQLite на Qt C++ Отправлено: OKTA от Март 18, 2014, 09:57 Советую сразу обратить внимание на bindValue в QSqlQuery. Когда запросы усложнятся и будут содержать спец.символы, просто так застрелишься экранировать, а через bindValue эта проблема отпадает.
Вот пример из http://habrahabr.ru/post/51650/ так Код: QSqlQuery query; Код: QSqlQuery query; Название: Re: Пошаговая инструкция. Работа с базой данных SQLite на Qt C++ Отправлено: 8Observer8 от Март 18, 2014, 10:03 Ух, ты! Вот это штука классная! А то я боялся этого: QString("...%1...%n"...).arg(...)...arg(...); :)
Огромное спасибо за съэкономленное время и нервы! :) Название: Re: Пошаговая инструкция. Работа с базой данных SQLite на Qt C++ Отправлено: OKTA от Март 18, 2014, 10:07 Это удобно не только потому, что время экономит, но и когда пишешь в БД данные, в которых может приходить неизвестно что) Придет тебе длиннющая строка, в которой будет одинарная кавычка и все - опять захочешь застрелиться, пока найдешь эту пакость ;D
Название: Re: Пошаговая инструкция. Работа с базой данных SQLite на Qt C++ Отправлено: carrygun от Март 18, 2014, 10:41 С %1 нужно быть аккуратнее, если вы в arg() передадите что-то типа "somestring %2" и будете вызывать дальше arg'и, то может случиться нехорошее.
С именованными параметрами (:name) тоже надо аккуратнее, некоторые базы (например, гадкий INFORMIX) могут кушать ДатуВремя как в одинарных, так и в двойных кавычках, в каком-то из случаев у вас получится неприятная ситуация. Название: Re: Пошаговая инструкция. Работа с базой данных SQLite на Qt C++ Отправлено: Johnik от Март 19, 2014, 09:05 Из бесплатных клиентов вот еще есть вполне неплохой: Valentina studio (http://www.valentina-db.com/en/valentina-studio-overview) и его обзор на хабре (http://habrahabr.ru/post/181990/)
|