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

Вниз

Аналог команды RecNo в Interbase   Найти похожие ветки 

 
harismatik   (2002-02-06 16:55) [0]

Чем в клиент-серверной базе(Interbase) можно заменить команду RecNo (номер записи в таблице)?


 
Johnmen   (2002-02-06 17:11) [1]

Вобщем-то ничем, разве что завести поле а-ля автоинкремент...


 
harismatik   (2002-02-06 17:14) [2]

Да, но при удалении записей номер в этом поле будет отличаться от номера записи в таблице. Что тут посоветуете?


 
Johnmen   (2002-02-06 17:20) [3]

Основываясь на концепции SQL серверных БД - решения нет,
т.к. нет понятия номер записи !


 
Johnny Smith   (2002-02-06 17:32) [4]

В Oracle8i такая фунукция есть. Правда, этот самый RecNo строится в рамках текущего набора данных.


 
Johnmen   (2002-02-06 18:24) [5]

>Johnny Smith : [D5, IB6.x] а не Oracle8i !


 
Fareader   (2002-02-06 18:30) [6]

Если очень хочется...
Попробуй сделать что-то вроде автоинкремент (тригер на before insert с занесением значения генератора), а если удаляешь, то сделай триггер на BeforeDelete

update table1 set no=no-1
where no>old.no

Может поможет попробуй, но как отреагирует сервер на такие комбинации не знаю ;))


 
Johnmen   (2002-02-06 18:40) [7]

>Fareader © : Так ни в коем случае нельзя !!!


 
Johnmen   (2002-02-06 18:42) [8]

>Fareader © : Так нельзя !


 
Fareader   (2002-02-06 18:51) [9]

Не спорю, мысли вслух, сам хотел похожее сделать, но вот как-то не пришлось. А интересно чего все таки получится. надо будет попробовать. Пока сам не засунешь пальцы в розетку - не поймешь, что этого делать не надо.


 
Fareader   (2002-02-06 19:57) [10]

Все-таки не получается : уходят записи, идущие после удаляемой :(


 
evgeg   (2002-02-06 23:14) [11]

В каждой Интербайсовской таблице есть скрытое поле, в котором хранится
номер записи. Как называется, точно не помню, что-то начинающееся с rdb$. Сходи на ib.demo.ru, поищи в документации,
или спроси на тамошней news-конференции.

Только IMHO не стоит этим полем пользоваться. В SQL-базах свои
методы работы, не надо тащить туда логику Paradox-а.


 
harisma   (2002-02-07 13:52) [12]

Всем спасибо, кто откликнулся. Но все же, как заменить єту парадоксовскую логику на серверную? Дело в том, что я при помощи этой команды делаю перемещения по таблице командой MoveBy. Чем ее можно заменить?


 
Johnmen   (2002-02-07 13:59) [13]

>evgeg © : ты что-то напутал :)
>harisma © : Locate"ом...


 
Alexandr   (2002-02-07 14:20) [14]

1) rdb$key, но это немножко не то, что надо челу.
2) А если через BDE работать, то RecNo есть, по-моему.
3) Можно запрос делать из процедуры, а там сэмулировать RecNo
4) Можно и напрямую в select но на каждый селект для каждого юзера нужен свой генератор, да и хлопотно это...



 
Fareader   (2002-02-07 14:32) [15]

Даже если через BDE - RecNo нет при работе с IB. А чем Locate не устраивает?


 
Alexandr   (2002-02-07 14:40) [16]

все вспомнил.
Я в FIBPlus использовал один раз RecNo для TpFIBPlusDataSet
все работало. Показывало порядковый номер текущей записи в запросе.
И не пытайтесь спорить с этим.


 
drpass   (2002-02-07 16:30) [17]

А объясните мне, недалекому, а зачем вообще может понадобиться RecNo (не в смысле "что она делает", это я знаю, а в смысле "для каких задач ее применять"). Я только смог придумать счетчик внизу экрана вида "Запись 30 из 54467" (кстати, прекрасно работает с клиент-серверной БД)


 
Johnmen   (2002-02-07 17:04) [18]

>drpass © : даже инфа типа "Запись 30 из 54467" неинформативна, нет в ней никакого глубокого смысла :)


 
drpass   (2002-02-07 18:05) [19]

Да нет, в принципе, знание номера текущей записи никому нафиг не нужно, но интерфейс кажется не таким унылым, и производительность работы юзера увеличивается :)


 
Johnmen   (2002-02-07 18:19) [20]

>drpass © : согласен.



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

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

Наверх





Память: 0.48 MB
Время: 0.006 c
3-19083
MZ
2002-02-07 17:46
2002.03.07
Как программно получить список псевдонимов баз данных???


1-19203
tovSuhov
2002-02-18 16:56
2002.03.07
Как правильнее сделать?


1-19157
vitnt2000
2002-02-21 12:14
2002.03.07
Приложение без формы


1-19136
Turalyon
2002-02-21 09:01
2002.03.07
Проблема с сервисами


3-19111
Alexy
2002-02-11 15:24
2002.03.07
Откат и обновление





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