Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.08.2014, 09:56   #1
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
Вопрос Не сохраняются изменения в БД через редактирование через DBGridEh

Добрый день!
Не сохраняются изменения в базе данных.
Связка:
Код:
DBGridEh -> DataSource -> MemTableEh -> pFIBDataSet -> pFIBDataBase.
Прошу помочь разобраться и дать рекомендации, что настроить, дописать, проверить.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 09.08.2014, 11:05   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ты хоть код покажи )
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 09.08.2014, 16:29   #3
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Ты хоть код покажи )
Какой код-то?) Вот именно, что мне непонятно в какой момент написать нужные Post и т.п.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 09.08.2014, 18:07   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну напиши при закрытии формы )
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 09.08.2014, 18:41   #5
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Что написать? MemTableEh.Post?
Я пробовал. И в событии простой кнопки кидал - не работает.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 09.08.2014, 19:03   #6
xxbesoxx
Участник клуба
 
Регистрация: 10.08.2010
Сообщений: 1,389
По умолчанию

Без Post тоже работает . Но на всяком случи можно написать Post
Код:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
 begin
   If Application.MessageBox('Вы действительно хотите закрыть программу','Предупреждения ',MB_ICONQUESTION+MB_YESNO)=IDYES then
     begin
        ADOQuery1.Edit;
        ADOQuery1.Post;
        ADOQuery1.Close;
        application.Terminate
     end
    else
  Action:=caNone;
end;
end;
end.
xxbesoxx вне форума Ответить с цитированием
Старый 09.08.2014, 19:15   #7
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

У меня мой код не работает:
Код:
procedure TMainForm.sWebLabel1Click(Sender: TObject);
begin
 if Application.MessageBox(PWideChar('Сохранить изменения?'),
                          'Project1',
                          MB_OKCANCEL + MB_ICONWARNING) = mrOk then
 begin
  MainForm.MemTableEh_Places.Edit;
  MainForm.MemTableEh_Places.Post;
  MessageBox(Handle,
            PWideChar('Изменения сохранены!'),
            'Project1',MB_ICONINFORMATION);
 end;
end;
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 09.08.2014, 19:29   #8
xxbesoxx
Участник клуба
 
Регистрация: 10.08.2010
Сообщений: 1,389
По умолчанию

Так будет рабтать
Код:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
 if Application.MessageBox(PWideChar('Сохранить изменения?'),
                          'Project1',
                          MB_OKCANCEL + MB_ICONWARNING) = mrOk then
 begin
  MainForm.MemTableEh_Places.Edit;
  MainForm.MemTableEh_Places.Post;
  MainForm.MemTableEh_Places.Close;
  application.Terminate;
  MessageBox(Handle,
            PWideChar('Изменения сохранены!'),
            'Project1',MB_ICONINFORMATION);
 end
  else
 Action:=caNone;
end;
Код:
 if Application.MessageBox(PWideChar('Сохранить изменения?'),
                          'Project1 -замените',
на
Код:
 if Application.MessageBox(PWideChar('Сохранить изменения?'),
                          'Предупреждения',

Последний раз редактировалось Stilet; 09.08.2014 в 22:15.
xxbesoxx вне форума Ответить с цитированием
Старый 09.08.2014, 22:18   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну я ЭхЛиб не использую, так что могу только догадываться.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 10.08.2014, 11:55   #10
Vapaamies
Ваш К. О.
Участник клуба
 
Аватар для Vapaamies
 
Регистрация: 26.12.2012
Сообщений: 1,774
По умолчанию

Цитата:
Сообщение от artemavd Посмотреть сообщение
Связка:
Код:
DBGridEh -> DataSource -> MemTableEh -> pFIBDataSet -> pFIBDataBase.
Мне еще вчера показалось, что это хорошая тема для "отсыпь немного". MemTableEh разве умеет работать в качестве оболочки над другим DataSet-компонентом?
Vapaamies вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не сохраняются записи после добавления через IBTable artemavd БД в Delphi 6 27.08.2012 14:36
Введенные данные в DBGridEh не сохраняются prorock БД в Delphi 11 21.04.2011 14:35
Как изменять БД через DBGridEh lexaltd БД в Delphi 1 19.11.2010 13:27
Не сохраняются изменения, внесённые через TZUpdateSQL Greek9000 БД в Delphi 1 22.10.2010 11:50
Сохранение всех данных в бд через DBGrideh postaveche БД в Delphi 0 15.09.2010 19:53