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

Вниз

Номер записи   Найти похожие ветки 

 
desha ©   (2002-09-01 12:40) [0]

Мастера! Не ужели никто не подскажет, как узнать номер записи НД? Recno не работает для Query и в хелпе об этом написано. А как же быть?


 
sniknik ©   (2002-09-01 12:51) [1]

Вряд ли кто подскажет. IB это как я понимаю тапа MSSQL-я sql server а в них номер записи не поддерживается (сервер сам решает куда запись положить).
А вот как же быть? можно. Обычно вставляют дополнительное поле индефикатор (автоикремент) это и будет номер по порядку.
и еще уточни чего тебе надо номер записи НД или всетаки номер в выборке Query.


 
desha ©   (2002-09-01 13:12) [2]

To shiknik
Первоначально надо было первое. Теперь бы просто узнать номер в выборке Query.


 
Anatoly Podgoretsky ©   (2002-09-01 13:28) [3]

Какую смысловую и полезную нагрузку несет этот номер


 
sniknik ©   (2002-09-01 14:48) [4]

Номер в выборке, не раз обсуждалось сдесь и я видел довольно простое решение именно для IB (чтото вроде переменной в селекте которая автоикрементная но IB я не знаю а MSSQL такого нет, или тоже не знаю :-( ). И еще было через вычисляемое поле (с извращениями). Но довольно давно видел уже наверно ушло в дайджесты (архив форума) самому искать неохота. :-)

а действительно зачем это тебе? если для репорта то там переменную можно вставить а в гриде... ? ну непонятно.


 
desha ©   (2002-09-01 20:33) [5]

Просто нужно спозиционироваться на нужную запись в таблице. Про запись ничего не известно, кроме ее номера в выборке.


 
Anatoly Podgoretsky ©   (2002-09-01 20:43) [6]

Для этого доджен быть или первичный ключ или уникальный индекс


 
sniknik ©   (2002-09-01 21:05) [7]

SELECT (Select Sum(1) From Products AS t1 Where t1.ProductID<= t2.ProductID) AS mynr, t2.* FROM Products AS t2

извини но это для MSSQL класический способ пойдет для IB? хрен знает. ProductID здесь именно первичный ключ.


 
sniknik ©   (2002-09-01 21:19) [8]

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


 
Shtukatur ©   (2002-09-02 07:02) [9]

create table #rank
( rank int indentity noy null,
id int
)

insert #rank
select ID_Record from Records order by ...

select rn.rank, ...
from Records rc
join #rank rn on rn.ID = rc.ID_Record
order by rc. ..

drop table #rank

rn.rank - это номер записи, но это гемор

лучше используй TClientDataSet, там RecNo работает.


 
Praco ©   (2002-09-02 09:08) [10]

Самое простое решение :
sniknik © (01.09.02 21:05)

Shtukatur © (02.09.02 07:02) - работать не будет, в IB нет временных табличек.

Для IB самое быстрое решение - хранимая процедура For Select и в блоке Do увеличение инкрентной переменной.

desha © (01.09.02 20:33)
"Просто нужно спозиционироваться на нужную запись в таблице. Про запись ничего не известно, кроме ее номера в выборке."
Не применяй номер записи в выборке для ее поиска в базе - это гарантированный путь к ошибкам. Однозначно найти запись можно только по потенциальному ключу.





 
desha ©   (2002-09-02 12:27) [11]

Спасибо, это уже и сам понял. Только не понятно, зачем для tQuery есть RecordCount и оно работает, но RecNo тоже ест, но не работает даже документально....


 
ЮЮ ©   (2002-09-03 03:33) [12]

>Только не понятно, зачем для tQuery есть RecordCount и оно работает, но RecNo тоже ест, но не работает даже документально

Потому что RecordCount - это объективная реальность, количество записей, удовлетворяющих условию запроса.


 
dimanew   (2002-09-03 07:46) [13]

можно сделать так:
Обьявляешь класс TMyGrid = class (TDBGrid)
Затем где-нибудь такое:
TFriendGrid(Dbgrid).DataLink.ActiveRecord


 
Basic ©   (2002-09-04 12:37) [14]

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


Query1.GotoCurrent(Table1);
showmessage(inttostr(Table1.Recno));


 
Fareader ©   (2002-09-04 14:08) [15]

Ставим FIBPlus и юзаем RecNo (для конкретного НД), а также получаем еще много других вкусностей


 
Anatoly Podgoretsky ©   (2002-09-04 14:20) [16]

ЮЮ © (03.09.02 03:33)
Добавим "отфетченных" на данный момент



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

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

Наверх




Память: 0.5 MB
Время: 0.012 c
1-85527
Jony
2002-09-12 18:35
2002.09.26
Форматирование ячеек Excell


4-85769
S&G
2002-08-06 13:49
2002.09.26
как поместить текст в Edit, находящийся в окне чужой проги?


1-85574
asderg
2002-09-13 20:28
2002.09.26
Как узнать размер объекта?


6-85627
Gregson
2002-07-25 14:04
2002.09.26
OFF: очень нужна помощь


1-85453
Vitalik
2002-09-16 07:47
2002.09.26
объекты и классы