Привет! В этом выпуске мы создадим базу данных в Qt. Для примера сделаем модель телефонной книги и добавим в нее возможность добавлять и удалять данные
Даже несмотря на старое знакомство с Qt из прошлого (3.x), забавно смотреть на эту магию. :) Поиск способов вызова API стал заметно проще из Qt... Ммм, а как эту среду разработки теперь зовут? Как говорится, всё для людей. Остаётся научить отладке проблем с подключением к различным СУБД. Вот бы там также элегантно получилось ;) P.S. И вот ведь казус - с Borland Delphi все это не менее весело и просто собиралось ещё в конце 90-ых прошлого века. Лучшая была технология RAD, пригодная для написания приложений БД для PC.
Спасибо за видео! Поясните пжлст новичку, почему объект db создан без динамического распределения памяти, а объект запроса с помощью указателя query. Это конечно вопрос больше по С++, но хотелось бы ваше пояснение. Спасибо!
Могу ошибаться, но запросы к базе надо было делать в блоке if(db.open{ ........} А то например после вывода сообщения "No open" Мы создаем обьект и делаем запрос 🤭
Привет, у меня работает не так, когда добавляю контакт, у меня создаётся только одна строка, потом при нажатии добавить, больше не добавляются, и цифра строки не ставиться
Почему мы создаем таблицу и добавляем БД в конструкторе класса главного окна. Это получается он будет при каждом новом открытии проги создавать новую ДБ и новую таблицу? В QT есть какой-то setup скрипт, который это сделает разово?
как почему за счет чего он у тебя сохраняется при каждом запуске и как это сделать?, я уже целую неделю пересматриваю твой видос и не могу понять что пропустить((((
Такая ситуация, все работает, но не так к сожалению. База данных создалась и подключилась тут все отлично, но вот написав код для кнопки добавить она добавляет всего одну ячейку, и если закрыть окно и заново запустить ничего не сохраняется. upd(что то начало работать но очень не долго, но возможно я понял в чем беда, можно у вас узнать как у вас звездочка в строке поменялась на 1?)
@@programmcat Спасибо за ответ!) Оказывается все так просто.. а я уже весь инет перерыл хех, теперь правда в моем приложении только одна из двух баз данных работает отлично, со второй так и остались беды..
@@programmcat Все таки обращусь еще раз к вам, как может быть такое что код абсолютно идентичен (не считая что переменные с другими именами), но вот одна база данных работает отлично, а другая ни в какую. Я уже и через DB browser добавил строку чтоб виделась 1 но и это не помогло, создает 2ю строку которая не меняется на 2 ну и не сохраняется. (Пишу курсовую, и вот эти базы данных просто убивают меня пока что хех, но для моего проекта надо именно 2 базы данных, я не могу придумать как все в одну запичкать)
Работа с двумя подключениями одновременно имеет свои нюансы, этот ролик не поможет :) После названия драйвера, вторым аргументом нужно прописать название подключения. Например: ("QSQLITE", "firstConnect").
в файле mainwindow.cpp есть строка (21) query->exec("CREATE TABLE... как я понял она создает таблицу в базе но зачем каждый раз при запуске в базе создавать таблицу ?
Привет, ломаю голову. У меня есть текст в LineEdit. Хочу нажать на кнопку и чтобы слово в LineEdit добавилась в базу данных. У меня только создается новый row, и на этом все. Уже не знаю что придумать. Подскажи пожалуйста. Спасибо 🙏
@@programmcat Почему-то у меня не добавляется следующая строка по нажатию кнопки Добавить. Одна добавляется строка, остальные нет и не сохраняется данные.
@@user-lc5vo2cc7u нужно enter нажать после добавления записи, чтобы номер строки появился. Тогда строчка считается добавленной, и можно создавать новую.
отвечали выше. сам не проверял, но наверно сработает: model->submitAll(); нужно добавить эту строку после команды model->insertRow(model->rowCount()); тогда изменения сохраняться
завидую твоим контактам
Спасибо, чувак! Это походу единственное нормальное видео по Qt + SQL без воды и прочей ерунды. Сходу подписался
Продолжайте выкладывать видео про qt и излагать материалы в том виде, в котором выбрали. Начало интересное!
Как сделать поиск по выпадающему списку в QT?
Спасибо тебе большое !
Очень круто видеть много полезных уроков по QT !!!!
Спасибо! Очень кратко и по делу!!!
Задали написать ДБ на Qt после первого занятия, не знал что делать, спасибо бро оч выручил
Хорошо, что видео оказалось полезным
Чел, спасибо за то, что ты существуешь
Спасибо, наконец-то без воды и всё понятно!
Как сделать поиск по выпадающему списку в QT?
Даже несмотря на старое знакомство с Qt из прошлого (3.x), забавно смотреть на эту магию. :) Поиск способов вызова API стал заметно проще из Qt... Ммм, а как эту среду разработки теперь зовут?
Как говорится, всё для людей. Остаётся научить отладке проблем с подключением к различным СУБД. Вот бы там также элегантно получилось ;)
P.S. И вот ведь казус - с Borland Delphi все это не менее весело и просто собиралось ещё в конце 90-ых прошлого века. Лучшая была технология RAD, пригодная для написания приложений БД для PC.
Какие классные девушки в твоих контактах. 😁😁
А вообще, спасибо за урок 😊
Благодарю вас за урок! Продолжайте дальше выпускать видео, у вас талант!
А также, у вас великолепные превью.
Эта база данных мне пригодится. Пойду ознакомлюсь с творчеством
Ух ты! Это именно то, что я хотел найти) спасибо)
😉
Спасибо! Очень полезно
Супер!
Так на кнопке удалить надо было сделать опен по-новой. Спасибо, было интересно.
Спасибо за урок!
пожалуйста))
от души))
Спасибо за видео! Поясните пжлст новичку, почему объект db создан без динамического распределения памяти, а объект запроса с помощью указателя query. Это конечно вопрос больше по С++, но хотелось бы ваше пояснение. Спасибо!
Могу ошибаться, но запросы к базе надо было делать в блоке if(db.open{ ........}
А то например после вывода сообщения "No open"
Мы создаем обьект и делаем запрос 🤭
Ирония в том, что имена в базе данных принадлежать порноактрисам =)
Спасибо большое за Ваши видео, это супер!
Подскажите, пожалуйста, как выровнять таблицу по ширине текста?
Народ все дружно помогаем нашему Коту раскрутиться. Репостим лайкаем и комментируем.. Нужный ведь канал..
Аминь. Брат
Схуяли?
скажите, а как сделать столбики более широкими , например, я пишу "средний балл FLOAT"(в query->exec()), а в table VIEW выводит только "средний"
Спасибо большое! Уберег от монотонного чтения документации. Подача и голос на хорошем уровне
Отличное видео. Спасибо!
А контакты у вас интересные
Привет, у меня работает не так, когда добавляю контакт, у меня создаётся только одна строка, потом при нажатии добавить, больше не добавляются, и цифра строки не ставиться
+
Как-нибудь решили?
В Qt5 не работает примерно ничего. Не те заголовочные файлы, запрос не создает таблицу в БД и т.д.
Здравствуйте, подскажите, а как сделать маску для номера телефона?
Почему мы создаем таблицу и добавляем БД в конструкторе класса главного окна. Это получается он будет при каждом новом открытии проги создавать новую ДБ и новую таблицу? В QT есть какой-то setup скрипт, который это сделает разово?
Нет, не будет
как почему за счет чего он у тебя сохраняется при каждом запуске и как это сделать?, я уже целую неделю пересматриваю твой видос и не могу понять что пропустить((((
model->submitAll(); нужно добавить эту строку после команды model->insertRow(model->rowCount());
тогда изменения сохраняться
Такая ситуация, все работает, но не так к сожалению. База данных создалась и подключилась тут все отлично, но вот написав код для кнопки добавить она добавляет всего одну ячейку, и если закрыть окно и заново запустить ничего не сохраняется.
upd(что то начало работать но очень не долго, но возможно я понял в чем беда, можно у вас узнать как у вас звездочка в строке поменялась на 1?)
Нажми enter, должно помочь
@@programmcat Спасибо за ответ!) Оказывается все так просто.. а я уже весь инет перерыл хех, теперь правда в моем приложении только одна из двух баз данных работает отлично, со второй так и остались беды..
@@programmcat Все таки обращусь еще раз к вам, как может быть такое что код абсолютно идентичен (не считая что переменные с другими именами), но вот одна база данных работает отлично, а другая ни в какую. Я уже и через DB browser добавил строку чтоб виделась 1 но и это не помогло, создает 2ю строку которая не меняется на 2 ну и не сохраняется. (Пишу курсовую, и вот эти базы данных просто убивают меня пока что хех, но для моего проекта надо именно 2 базы данных, я не могу придумать как все в одну запичкать)
Работа с двумя подключениями одновременно имеет свои нюансы, этот ролик не поможет :) После названия драйвера, вторым аргументом нужно прописать название подключения. Например: ("QSQLITE", "firstConnect").
в файле mainwindow.cpp есть строка (21) query->exec("CREATE TABLE... как я понял она создает таблицу в базе но зачем каждый раз при запуске в базе создавать таблицу ?
Если таблица создана, запрос не будет выполнен
Попытался сделать в linux, но что то не работает метод
model->(model->rowCount())
model->insertRow(model->rowCount());
А как подключиться уже к существующей бд ?
прописать в методе setDatabaseName путь к существующей бд
Я оставлю этот комментарий в 2021, пока на канале ещё не миллион подписчиков
Как обращаться к данным из ячейки?
Через модель, там есть встроенный метод data
Как сделать поиск по выпадающему списку в QT?
использовать QCompleter
вот так всегда. на шикарных уроках просмотров мало. а режу воду 10 часов собирает миллионы
деградирует народ однако..
а можно код файлом
у меня не создается, нужны комплекты какие-то, а там их нет при создание, что делать?
Выдает ошибку: QSqlite driver not loaded. Как быть?
загрузить драйвер на компьютер
Привет, ломаю голову. У меня есть текст в LineEdit. Хочу нажать на кнопку и чтобы слово в LineEdit добавилась в базу данных. У меня только создается новый row, и на этом все. Уже не знаю что придумать. Подскажи пожалуйста. Спасибо 🙏
Ладно, видимо вы сами не знаете как это сделать:)))
Используй query.exec()
query.prepare("INSERT INTO yourTable(Data)"
"VALUES (:dataValue)");
query.bindValue(":dataValue", ui->lineEdit->getText());
query.exec();
@@georgezh1711 спасибо. Безумно доволен:)))
hello, would you be so kind and tell me how to create finding button? please
Не планируешь видос по postgresql?
Выручишь пиздец)
А как сделать то же самое, но без графического редактора?
Консольное приложение или создать окно текстом?
@@programmcat создать окно текстом
@@user-tz5sw1sw5r сделаю ролик на эту тему
@@programmcat, благодарю, буду ждать с нетерпением
Можешь пж зделать видео как создать проект .pro пж пж пж
Выберите сборку qmake и файл .pro создастся
А как подключить БД MySQL ???)))
Использовать другой драйвер
@@programmcat Почему-то у меня не добавляется следующая строка по нажатию кнопки Добавить. Одна добавляется строка, остальные нет и не сохраняется данные.
@@user-lc5vo2cc7u нужно enter нажать после добавления записи, чтобы номер строки появился. Тогда строчка считается добавленной, и можно создавать новую.
@@Dovmial Спасибо. Попробую.
Одинаковый код. База данных не сохраняется после перезапуска...
отвечали выше. сам не проверял, но наверно сработает:
model->submitAll(); нужно добавить эту строку после команды model->insertRow(model->rowCount());
тогда изменения сохраняться
Я мог просто посмотреть видос в 7 минут, а не читать документацию и чужой код всю ночь...
ради этого я и создавал канал, спасибо, приятно ))
Сори, но звук видео настроен ужасно. Твой голос идёт только в левый наушник...
все, нашел где можно балансировать звук, в новом ролике все ровно
@@programmcat уииии
у меня не появилась ДБ. а програмист из меня плохой. ПОМОГИТЕ
сборку нажми
@@programmcat я уже сдал курсач , мне это уже нахуй ненадо
А давай ты не будешь начинать видео со слова привет.
Вот все как есть, только без привет
Во первых оно ни к чему, во вторых ты его мерзко произносишь
а давай ты просто пойдешь на ***