Главная страница
    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.007 c
3-31094
_Alex_
2003-06-16 15:26
2003.07.10
отображение таблиц MS Access


3-31085
_Dimitry
2003-06-16 13:10
2003.07.10
Как остановить выполнение ADOQuery.Execute ?


3-31106
victor_ch
2003-06-13 10:17
2003.07.10
Подключение к MSsql серверу


14-31408
Knight
2003-06-23 16:37
2003.07.10
Ищу... микросхему


3-31124
AlexGreG
2003-06-18 08:27
2003.07.10
... Ах, какие деревья ! ...





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