Название: Не сохраняется новая запись в БД Postgres Отправлено: gbcesc от Апрель 13, 2013, 12:57 Всем добрый день. Столкнулся с одной проблемой и не могу понять,что не так. Есть программа для работы с Базой Данных Postgres, подключение - все проходит успешно, таблица выводится. Удалить последнюю строку получается и это изменение сохраняется в саму БД, а вот добавить новую строку,чтобы она сохранилась никак не выходит. Помогите пожалуйста и скажите,что в коде не так? В Qt я новичок.
Код: Код: #include "mainwindow.h" Название: Re: Не сохраняется новая запись в БД Postgres Отправлено: VPS от Апрель 13, 2013, 14:52 Добавляет ли код
Код: model->insertRow(model->rowCount()); // добавление информации в базу данных Если вставка происходит, то по умолчанию, если я правильно понял, у Вас стратегия редактирования "OnRowChange". Вы пробовали после вставки новой строки выбрать другую, или добавить ещё одну? Название: Re: Не сохраняется новая запись в БД Postgres Отправлено: gbcesc от Апрель 13, 2013, 14:57 Да,пустая строчка появляется. Слева,где идет нумерация строк, номера нет, а стоит *. А если вставить строчку, и например нажать на верхнюю,то значение из верхней перейдет в только что вставленную.
Название: Re: Не сохраняется новая запись в БД Postgres Отправлено: VPS от Апрель 13, 2013, 15:23 Попробуйте вставить пустую строку, заполнить её, а уже потом перевести фокус на новую.
Будет ли в этом случае она сохраняться? Название: Re: Не сохраняется новая запись в БД Postgres Отправлено: gbcesc от Апрель 13, 2013, 15:35 вставил пустую, заполнил всю. При нажатии на остальные поля таблицы данные из них не переносятся в новую. Но стоило выйти из программы и снова ее запустить,так введенная строка исчезла..данные не сохранились.
Название: Re: Не сохраняется новая запись в БД Postgres Отправлено: VPS от Апрель 13, 2013, 15:47 Попробуйте изменить стратегию на OnFieldChange.
Название: Re: Не сохраняется новая запись в БД Postgres Отправлено: gbcesc от Апрель 13, 2013, 15:49 Поставил. В уже созданных строках изменения сохраняются,но если добавить новую и заполнить ничего не происходит. все тоже самое. А Вы бы не могли посмотреть программу целиком? Если я все файлы залью.
Название: Re: Не сохраняется новая запись в БД Postgres Отправлено: VPS от Апрель 13, 2013, 16:05 А Вы бы не могли посмотреть программу целиком? Если я все файлы залью. Конечно заливайте, если не закрытые исходники - хуже не будет.Название: Re: Не сохраняется новая запись в БД Postgres Отправлено: gbcesc от Апрель 13, 2013, 16:09 Был бы Вам очень благодарен,если посмотрите весь код)
Название: Re: Не сохраняется новая запись в БД Postgres Отправлено: VPS от Апрель 13, 2013, 23:05 gbcesc, посмотри вложение (оставлено взаимодействие с одной таблицей).
Чтобы представление восприняло вставку новой строки, необходимо нажимать enter после окончания ввода данных... Ну или для вставки новой строки можно создавать форму с нужными полями и уже вставлять данные самому. П.С.: В книге "Бланшет,Саммерфилд - QT4 Программирование GUI на С++" довольно неплохо написано, как работать с таблицами с внешними ключами... Название: Re: Не сохраняется новая запись в БД Postgres Отправлено: gbcesc от Апрель 14, 2013, 11:39 vps, спасибо Вам огромное что откликнулись на мою проблему)
|