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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.12.2015, 00:17   #1
KBO
Форумчанин
 
Регистрация: 11.06.2010
Сообщений: 525
По умолчанию

Доброе время суток форумчане,
Такая ситуация странная. Поставил на форму компоненты, связался с БД, через IBDataSet (одно из полей IBDataSet, сформировано автоматически), сгенерировал автоматом запросы.
Один из компонентов DBComboBox, привязял к полу «POSITION_PEOPLE».
Начал добавлять, и редактировать записи, - все хорошо, кроме этого поля, оно не запоменается.

Поставил DBEdit, подцепил к этому полю такая же фигня (не запоминается).

Хотя, если занести значение в БД, напрямую, компоненты их отображают.

Запоминание этого поля все таки происходит, если во время редактирования записи, занести значение и в DBComboBox и в DBEdit.

Т.е. во время редактирования, нужно просто после внесения значения в DBEdit перейти на любой другой компонент, а потом нажимать кнопку "Post".

А вообще поле, после которого срозу нажимаешь "Post" - не запоминается.

Кто-нибудь с таким сталкивался? И как от этой ошибки избавиться?

Спасибо заранее
P.S.
Компоненты набора DBComboBox и в DBEdit и т.д и IBDataSet, находятся на разных формах

Я выяснил,
как только я разношу компоненты по разным формам
Компоненты набора DBComboBox и в DBEdit и т.д на Form2,
IBDataSet, DataSource на разных форме Form1

происходит такая фигня с сохранением

P.S.
Раньше я такого не замечал...

Последний раз редактировалось Stilet; 07.12.2015 в 09:51.
KBO вне форума Ответить с цитированием
Старый 07.12.2015, 09:53   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ниче не понятно, но стелепатирую: Когда ты перенес компоненты на другую форму, они потеряли друг к другу привязку, ибо в этом случае в их свойствах нужно писать полный путь с именем формы. Поэтому обычно такие компоненты кладут на специальный юнит - DataModule, и уже оттуда их привязывают к компонентам форм.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 07.12.2015, 12:25   #3
KBO
Форумчанин
 
Регистрация: 11.06.2010
Сообщений: 525
По умолчанию

Да нет, же уважаемый,
я о том, что нужно писать с указнием формы (для привязки, в поле "DataSourse") - знаю.
1. - без соответствующе привязки или ее отсутствия, вообще не возможно ввести данные в поле (а они вводятся);
2. - другие значения на форме, в других компоненентах сохраняются.

Не сохраняются только значения ВВЕДЕННЫЕ в ПОСЛЕДНЕЕ ПОЛЕ перед "Post" записи.
(если я например, заполню вторую запись, но порядок заполнения компонентов изменю), то не сохранится то поле, которое уже сохранялось в первой записи.
KBO вне форума Ответить с цитированием
Старый 07.12.2015, 12:28   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну без осмотра кода сказать чего-то не "льзя".
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 07.12.2015, 12:31   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
Раньше я такого не замечал...
Ну вот, наконец заметил. Ставь точки останова и в пошагвой трассировке смотри где нахимичил. Компонент совсем не странный, просто программист не может найти ошибку
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 07.12.2015, 17:18   #6
KBO
Форумчанин
 
Регистрация: 11.06.2010
Сообщений: 525
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
...Ставь точки останова и в пошагвой трассировке смотри где нахимичил....
Да, я этим уже занимаюсь.

Подскажите пожалуйста, вот,
где я могу посмотреть, готовый запрос (с вставленными в него значениями) на клиенте? (или при вставке или при модификациии)

Я просмотрел в собитии "DataSet",

Код:
procedure TFMain.ibdsPeopleAfterPost(DataSet: TDataSet);
begin
  showmessage('After ='+ibdsPeople.FieldByName('PATRONYMIC_NAME').AsString);
  ibtrMain.CommitRetaining;
end;
и
Код:
procedure TFMain.ibdsPeopleBeforePost(DataSet: TDataSet);
begin
  showmessage('Before ='+ibdsPeople.FieldByName('PATRONYMIC_NAME').AsString);
end;
'PATRONYMIC_NAME' - это поле, которое я пытаюсь изменить..
в этих двух собитиях, старые значеня,
значит где-то еще до этого значения не меняютя

Последний раз редактировалось KBO; 07.12.2015 в 17:21.
KBO вне форума Ответить с цитированием
Старый 07.12.2015, 17:36   #7
KBO
Форумчанин
 
Регистрация: 11.06.2010
Сообщений: 525
По умолчанию

Установил, что изменения происходят до "BeforePost",

А вот как попасть в место до "BeforePost", чтоб там посмотреть?

Получается значение не попадает в запрос...

Последний раз редактировалось KBO; 07.12.2015 в 17:44.
KBO вне форума Ответить с цитированием
Старый 07.12.2015, 18:01   #8
KBO
Форумчанин
 
Регистрация: 11.06.2010
Сообщений: 525
По умолчанию

НАШЕЛ!!!

У меня в DBNavigator, для поля с паролем стояла вот эта строка
Код:
procedure TFPeople.dbnavPeopleBeforeAction(Sender: TObject;
  Button: TNavigateBtn);
begin
  dbedPassword.Field.EditMask := '';
end;
без нее работает все как нужно

Ща, вспомнить только зачем я ее туды засунул... дело то давненько было..

И как строка реагирует на запоминание, точнее на НЕ запоминание значения поля (ведь я редактировал совсем другие поля)

Последний раз редактировалось KBO; 07.12.2015 в 18:12.
KBO вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Странное поведение TChromium ilich7 Работа с сетью в Delphi 2 04.05.2014 16:34
странное поведение clientdataset DmitryVisuals БД в Delphi 2 16.06.2013 20:48
Странное поведение gets alex_alpha Общие вопросы C/C++ 3 27.03.2010 18:21
Странное исключение при просмотре поля Access adwaer Общие вопросы .NET 2 05.01.2010 09:17
Странное поведение базы yulia БД в Delphi 7 22.04.2009 07:15