Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.07.10;
Скачать: CL | DM;

Вниз

Как после Refresh попасть на ту запись которая была активна.   Найти похожие ветки 

 
bSava ©   (2003-06-11 15:39) [0]

Суть вопроса в следующем:
У меня есть две таблицы связанные между собой (master-detail), так вот когда я вношу новую запись в первую таблицу, и Grid теряет фокус ввода у меня происходит Pos для первой таблицы (должен заметить что база IB, а точнее Yaffil), так вот было замечино что если не сделать Refresh, для первой таблице, то во вторую внести не получается из-за notNull связанного поля, тоесть первичный ключ первой таблице не поподает на клиента до рефреша и соответственно не поподает во внешний ключ второй таблицы. Все бы ничего но беда в другом, если делаю рефрешь, то записи начинают вести себя слегка непонятно они меняют сой порядок следования в гриде, но не всегда, а когда им в голову придет, я думал что и это не беда, вот оказалась беда, Bookmark не помогает... К примеру я вношу запись под порядковым номером 3 а после рефреша это запись встает на второе место, а закладка меня отправляет на третью запись по порядку следования, хотел первичный ключ выципить и потом Locate на него, но тут замкнутый круг, для начала надо рефрешь сделать....
Уважаемые мастера подскажите что делать???


 
Anatoly Podgoretsky ©   (2003-06-11 15:51) [1]

Locate


 
bSava ©   (2003-06-11 16:01) [2]


> Anatoly Podgoretsky © (11.06.03 15:51)
> Locate

Интересно по какому полю???? я могу только по первичному ключу сдклать иначе гарантировано могу не попасть на ту записть которую мне нужно, читай внимательнее!!!


 
MalkoLinge ©   (2003-06-11 16:05) [3]

Создай буукмарку :))
созхрани ее, после рефреша проверь, действительна ли она (проо всяк пожырный) а потом делай ГтоБокмар :))

а можно и как Анатолий сказал, запоминать текущее значение ключевого поля а потом локейтиться :)


 
clickmaker ©   (2003-06-11 16:07) [4]

Дык тебе надо встать на запись, которая была активна до добавления и сохранения изменений, или на добавленную ? Если первый вариант, то сохранение PK, а потом Locate. Старый то PK не меняется. А если второй, то либо получать с сервера identity для этой таблицы, либо предполагать, что ID новой записи = max(ID)+1


 
Val ©   (2003-06-11 17:01) [5]

>clickmaker © (11.06.03 16:07)

..либо предполагать, что ID новой записи = max(ID)+1..

до добра не доведет


 
Shaman ©   (2003-06-11 18:06) [6]

Значение РК бери из генератора предварительно и все у тебя получится


 
Zacho ©   (2003-06-11 20:29) [7]

Значение генератора надо получать до вставки новой записи. Читай http://www.ibase.ru/devinfo/generator.htm


 
bSava ©   (2003-06-16 11:05) [8]


> Zacho © (11.06.03 20:29)
> Значение генератора надо получать до вставки новой записи.
> Читай http://www.ibase.ru/devinfo/generator.htm

Огромное спасибо очень помогло и отлегло!!!



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

Текущий архив: 2003.07.10;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.014 c
1-31267
EgorKA
2003-06-30 01:37
2003.07.10
Добавление текста в файл...


7-31553
CJC
2003-04-26 23:04
2003.07.10
Тест ОЗУ-ПЗУ-CPU


6-31395
Del
2003-05-01 00:41
2003.07.10
Как сделать сервер с использованием WinSock. В проекте без форм!


14-31511
k-man
2003-06-24 18:38
2003.07.10
Frigate


14-31519
_designer_
2003-06-24 15:16
2003.07.10
Свободный FIBPlus