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




Вниз

Возврат на запись после редактирования 


Gollo   (2001-12-16 23:29) [0]

Как примерно возвратиться на редактируемую запись в Query после Close->Open? RecNo и Bookmark не помогают!Refresh подходит только для простого запроса из одной таблицы!А прокручивать с начала для пользователя не приемлемо!Поискал по сайту но ничего не нашел!Зарание благодарен за любую подсказку!



Котелок   (2001-12-17 04:13) [1]


Перед close->open;

Curlocate := query1.fieldbyname("<поле>").asinteger; Если есть индексированное поле в результате запроса. Если нет, то поле с уникальным значением.

После

Query1.locate("<То же поле>",CurLocate,[]);

Позиция встала на ту запись.



Gollo   (2001-12-17 22:39) [2]

А если запись удаляют или добавляют!Это не сработает!



Dick   (2001-12-17 22:46) [3]

Делай то же, что и в пред. примере, только для предыдущей или следующей записи.



petr_v_a   (2001-12-17 23:00) [4]

Если на запись с тем же номером ( 5-ю, 10-ю ) - тогда locate по rownum (! в верисях до 8.1.5 съзжает при order by ). Если с тем же смыслом - по полю с уникальным значением, а уж если ее удалили - ничего не поделаешь.
>Котелок результат запроса никогда не индексирован :) Индекс полезен на этапе выполнения запроса, но никак не при работе с его результатом, BDE точно никак не умеет работать с индексом на сервере Oracle



Gollo   (2001-12-17 23:25) [5]

>petr_v_a Если можно поподробнее насчет rownum! А как мне узнать порядковый намер редактируемой записи? мне впринципе только это надо потом сделаю MoveBy при открытии



petr_v_a   (2001-12-17 23:47) [6]

select rownum, field1,field2
from my_table

подробнее поиском в Oracle SQL Reference на слово pseudocolumn.

единственно, в версиях до 8.1.5, если в запросе есть order by, то все rownum будут перемешаны( с большой вероятностью ). В 8.1.х это обходится

select rownum,q.*
from
(
select field1,field2
from my_table
order by field3
) q



Gollo   (2001-12-17 23:53) [7]

Хорошо я попробую завтра,Спасибо!



SergVlad   (2001-12-18 09:31) [8]

Можно попробовать сделать следующее при удалении.
- запоминать первое,в порядке сортировки, поле в удаляемой записи.
- после переоткрытия позиционировать на поле по неполному соответствию.




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




Наверх





Память: 0.73 MB
Время: 0.027 c
4-66410           Moscower              2001-11-16 16:13  2002.01.21  
Помогите найти ошибку


4-66399           Roman_                2001-11-19 00:06  2002.01.21  
Вывод текста по кругу (поправьте плиз алгоритм)


3-66213           PONTIY                2001-12-19 06:54  2002.01.21  
Работа с курсором


3-66188           Sergiom               2001-12-14 08:21  2002.01.21  
Не могу сделать refresh data.


4-66409           NetBreaker666         2001-11-17 19:58  2002.01.21  
Как работать с CAB файлами.