Qt - Основные классы для работы с БД (часть 3)

preview_player
Показать описание
В видео показаны особенности реализации операций вставки и удаления строк таблицы БД в зависимости от разных СУБД (автоинкрементное поле или генератор). Показана возможность реализации lookup-полей связанных таблиц (класс QSqlRelationalTableModel).
Рекомендации по теме
Комментарии
Автор

Огромное спасибо! После суток мучений и поисков нашел решение своей проблемы.

Sergij-ymsi
Автор

Здравствуйте! Подскажите, пожалуйста, как при связывании связывании таблиц сделать выпадающий список с контекстным поиском(24:31 мы выбираем из трех вариантов, а если их сотня?) )?

Den-kdmx
Автор

Подскажите почему при использовании QSqlTableRelationalTableModel не удается корректно добавлять строки?

sorrelofsuccess
Автор

Лев, подскажи пожалуста, если запрос inner join мы связываем две таблицы, а если таблиц больше двух, например 3, где есть база данных магазина, где есть корзина, информация об товаре, и об клиенте, и в корзине есть и индекс товара и клиента, как реализовать такой запрос?

npozh
Автор

Здравствуйте, Лев. У вас очень хорошие видео-уроки по базам данных в Qt, все понятно и легко! Но возник такой вопрос: почему, когда мы поменяли модель QSqTableModel на QSqlRelationalTableModel, перестало работать удаление строк, и изменения, внесенные именно в строки "связанные" с другими таблицами, не сохраняются. Почему так произошло? Есть ли пути решения?

lollipop
Автор

Сделайте пожалуйста урок по модель/предстовление, а именно как сделать редактируемую выборку sql из нескольких таблиц. В интернете не получилось найти никаких примеров, а QSqlRelationTableModel может пригодится только в самых простых задачах.

АндрейКлименко-нц
Автор

Лев, подскажи пожалуйста. Я использую SqLite, в моей бд несколько таблиц. В коде при использовании QSqlRelationalTableModel с методом setRelation, данные в базе не изменяются. В чем проблема?

ShedowSith
Автор

По-моему по БД было больше уроков, вы удалили видео? Зачем?( Я переодически к ним возвращался...

НиколайКрасиков-ый
Автор

А можете сделать видео как собрать MySQL на Qt под Андроид? Буду благодарен)

rovsen
Автор

Лев, для Interbase/Firebird автоинкремент реализуется "внутри" БД с использованием связки "Генератор+Тригер", что дает возможность, равно как и MySQL, вставлять запись со значением NULL первичного ключа. Вероятно, Вы просто не очень хорошо знаете InterBase/Firebird.... К тому же доступа извне к системным (с префиксом RDB$) таблицам у простого юзера нет, а права выдавать ни один админ не будет, я думаю... На локальном сервере или встраиваемом (embedded) "костыли" с ручным получением генератора прокатят, а на реальном - нет. Почитайте на www.ibase.ru В IBExpert автоинкремент реализуется в три клика мыши без единого символа кода с Вашей стороны... В Oracle принцип, вроде, такой же.

SapsanMurom