Вопросы по примеру staffmanager из книги Бланшет "Qt 4. Программирование GUI на C++" |
Здравствуйте, гость ( Вход | Регистрация )
Вопросы по примеру staffmanager из книги Бланшет "Qt 4. Программирование GUI на C++" |
Steklova Olga |
22.5.2013, 13:43
Сообщение
#1
|
Участник Группа: Участник Сообщений: 198 Регистрация: 27.9.2011 Из: Санкт-Петербург Пользователь №: 2912 Спасибо сказали: 5 раз(а) Репутация: 4 |
Добрый день
Запускаю пример staffmanager из главы 13 книги Бланшет "Qt 4. Программирование GUI на C++", изд.2. Хочу добавить в БД новый Department и Employees для этого нового Department. Нажимаю кнопку "Add Dept", в табл Departments появляется пустая строка, помеченная "*", ввожу данные в эту строку. А дальше что делать? Или код этого примера не позволяет это сделать? Добавлено 22.05.2013 16:50 При добавлении данных предполагаю, что результат добавления должен быть виден на экране и вноситься в БД. А, запуская пример, я этого не вижу. Или этот пример не дописан в книге в части редактирования таблицы Departments ? Сообщение отредактировал Steklova Olga - 22.5.2013, 15:51 |
|
|
Steklova Olga |
31.5.2013, 14:08
Сообщение
#2
|
Участник Группа: Участник Сообщений: 198 Регистрация: 27.9.2011 Из: Санкт-Петербург Пользователь №: 2912 Спасибо сказали: 5 раз(а) Репутация: 4 |
Там вроде ещё Tab также обрабатывается. нетЗапустила пример, Tab не помогает при корректировки таблицы БД прямо в TableView. Зато, при корректировке таблицы БД через QDataWidgetMapper помогает смена фокуса на другой контрол маппера с помощью Tab или курсора, а Enter в этом случае не подходит. Ещё нюанс: при использовании Мапера становится невозможным использовать транзакции. Например, ты запускаешь транзакцию, пользователь взаимодействует с Мапером через виджеты, затем (по кнопке) фиксируешь трнзакцию. Фиксация при редактировании нескольких строк таблицы завершится неудачей. Т.к. в драйверах БД что-то идёт криво и ID транзакции используется неверный. Почему вы говорите, что нельзя использовать транзакции? Может, я неверно поняла, что вы этим хотите сказать, о какой транзакции идет речь?В примере chap18/db04 из книги Земскова "Qt4 на примерах" есть такой код: Тут есть транзакция. Запускаю пример, редактирую одну запись таблицы БД в маппере, завершаю корректировку сменой фокуса с последнего откорректиррованного контрола на другой, затем аналогично редактирую другую запись, только после этого нажимаю кнопку "записать". И все срабатывает, все изменения обеих записей сохраняются в таблице БД. А вы о чем говорили?
|
|
|
Текстовая версия | Сейчас: 29.11.2024, 11:27 |