Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.06.12;
Скачать: [xml.tar.bz2];

Вниз

POST and IBX   Найти похожие ветки 

 
softmaster   (2003-05-23 12:09) [0]

Вот не понимаю я!
использую IBX.
2 таблицы Главная и подчиненная.
вызываю для главной insert
некоторые поля сразу заполняю из проги.
Затем вызываю POST и сразу EDIT.
Высвечиваю окно для редактирования данных пользователем.
он их редактирует, затем POST и обновляю набор.
Прикол в том, что данные не сохраняются почему-то.
Вернее те данные, которые я не вводил до начала высвечивания
формы для редактирования- сохраняются,
а те, которые уже вводил- не сохраняются.!!!

Не пойму в чем дело

что я не так делаю.????
Помогите пожалуйста разобраться...
Еще есть прикол с заполнением подчиненной таблицы,
но об этом позже...


 
Наталия   (2003-05-23 12:13) [1]

Код приведи. Отгадывать твои мысли нет возможности.


 
softmaster   (2003-05-23 12:17) [2]

Пишу код
//-----------------получение значения поля DOCNum
D.Query_Ord_DocNum.Close;
D.Query_Ord_DocNum.Prepare;
D.Query_Ord_DocNum.Open;
//-----------------
D.Orders.insert; //метод Insert
D.OrdersRASPOL_RUL.AsString:="Левый";
D.OrdersYEAR_PRODUCTION.asString:=DateToStr(Date);
D.OrdersDat_.asString:=DateToStr(Date);
D.OrdersData_Ispoln.asString:=DateToStr(Date+D.paramsSrok_Isp.asInteger);
d.OrdersSPOSOB_PRIOBR.AsString:="Наличные";
d.OrdersCUSTCODE.asInteger:=d.CustomsCode.AsInteger;
D.OrdersCARMODEL.AsInteger:=d.ModeliCODE.AsInteger;
D.OrdersDOCNUM.AsInteger:=D.Query_Ord_DocNumGEN_ID.AsInteger;
d.OrdersCODE_WALUTA.asInteger:=0;
D.OrdersKURS.AsFloat:=1;
d.OrdersPREDOPLATA.asFloat:=0;
d.OrdersCODE_WALUTA_PREDOPLATA.asInteger:=0;
D.Orders.Post;/<---здесь запоминаем
D.Orders.edit; //и открываем по новой
form_Order_Edit:= TForm_Order_Edit.Create(Application);
form_Order_Edit.showModal;
if form_order_edit.ModalResult=mrOk then
begin
D.Orders.Refresh;
end
else
begin
D.orders.post;
DS.Delete_OrdItem.Close;
DS.Delete_OrdItem.Prepare;
DS.Delete_OrdItem.ParamByName("DocNum").asInteger:=D.OrdersDOCNUM.AsInteger;
DS.Delete_OrdItem.ExecSQL;
DS.Delete_Order.Close;
DS.Delete_Order.Prepare;
DS.Delete_Order.ParamByName("DocNum").asInteger:=D.OrdersDOCNUM.AsInteger;
DS.Delete_Order.ExecSQL;
d.Orders.Refresh;
end;

Form_Order_Edit.free;



 
Johnmen   (2003-05-23 12:29) [3]

>>>
if form_order_edit.ModalResult=mrOk then
begin
D.Orders.Refresh;
end
else
begin
D.orders.post;
>>>

То есть эта логика правильна ? :) В отсутствии Post"а при mrOk ?



 
softmaster   (2003-05-23 15:58) [4]

Нет, там POST есть
то есть если ОК, то запоминаем и обновляем
если нет- удаляем


 
softmaster   (2003-05-23 16:03) [5]

все равно не работает
if form_order_edit.ModalResult=mrOk then
begin
D.orders.post;
D.Orders.Refresh;
end
else
begin
D.orders.post;


 
Johnmen   (2003-05-23 16:09) [6]

Что есть Orders ?


 
softmaster   (2003-05-23 16:40) [7]

Orders-ibTable
D-datamodule;


 
Johnmen   (2003-05-23 16:51) [8]

Ну прям не знаю, чудеса какие-то...:)
Возможно, все дело в той волшебной динамически создаваемой форме...


 
softmaster   (2003-05-23 17:12) [9]

в форме ничего нет
только набор DBEdit`ов
что за ерунда?


 
softmaster   (2003-05-23 17:17) [10]

Получается бред какой-то-
те поля которые я задал по умолчанию, ну там дата документа, клиент, способ приобретения и т.п.

D.OrdersRASPOL_RUL.AsString:="Левый";
D.OrdersYEAR_PRODUCTION.asString:=DateToStr(Date);
D.OrdersDat_.asString:=DateToStr(Date);
D.OrdersData_Ispoln.asString:=DateToStr(Date+D.paramsSrok_Isp.asInteger);
d.OrdersSPOSOB_PRIOBR.AsString:="Наличные";
d.OrdersCUSTCODE.asInteger:=d.CustomsCode.AsInteger;
D.OrdersCARMODEL.AsInteger:=d.ModeliCODE.AsInteger;
D.OrdersDOCNUM.AsInteger:=D.Query_Ord_DocNumGEN_ID.AsInteger;
d.OrdersCODE_WALUTA.asInteger:=0;
D.OrdersKURS.AsFloat:=1;
d.OrdersPREDOPLATA.asFloat:=0;
d.OrdersCODE_WALUTA_PREDOPLATA.asInteger:=0;

после появления формы для редактирования не изменить.
только после закрытия формы и повторного открытия этой же записи на редактирование можно поменять значения полей.
Что еще может быть не в поряде?




 
Johnmen   (2003-05-23 17:19) [11]

Тестируем :
.........
D.Orders.edit; //и открываем по новой

//form_Order_Edit:= TForm_Order_Edit.Create(Application);
//form_Order_Edit.showModal;

D.Orders.FieldByName(...).As...:=...;

//if form_order_edit.ModalResult=mrOk then

begin
D.orders.post;
D.Orders.Refresh;
end

Что получается ?


 
softmaster   (2003-05-23 17:31) [12]

щас попробую


 
softmaster   (2003-05-23 17:35) [13]

нет, все равно не сохраняет.
дело не в форме, черт знает что такое...


 
Johnmen   (2003-05-23 17:38) [14]

А как видно, что не сохраняет ?


 
softmaster   (2003-05-23 17:46) [15]

Grid ассоциированный с Orders



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2003.06.12;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.008 c
14-35008
Шоломицкий
2003-05-26 11:46
2003.06.12
Про HTML


1-34814
_mandrake_
2003-06-02 16:24
2003.06.12
Программы и ключи


8-34934
Dostoevskiy
2003-03-02 09:38
2003.06.12
Получение RBG из pixel a.


1-34776
Uran
2003-06-02 11:39
2003.06.12
Работа с файлом.


1-34869
OlegNOE
2003-05-31 11:02
2003.06.12
MDI интерфейс





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский