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

Вниз

Как после 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.008 c
1-31203
Dream
2003-06-28 12:43
2003.07.10
проблемы с memo ( смешно конечно но я по моему уже гоню )


3-31084
Ann
2003-06-16 13:33
2003.07.10
Ошибка


1-31295
Smirnoff
2003-06-26 15:22
2003.07.10
Найти и заменить


14-31407
yaJohn
2003-06-25 13:53
2003.07.10
Симулятор COM порта.


1-31358
Эдуард
2003-06-21 23:52
2003.07.10
Экспорт функции из DLL





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский