Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как пронумеровать записи??? [D5, MSSQL]


-=[SDA]=- ©   (2004-02-04 07:28:00) 

Приветствую, всех!... проблема моя в следущем: при выводе запроса в грид хотелось бы пронумеровать строки: 1,2,3..., но как это сделать что-то не сооброжу :( ... т.к. у меня 6.5й, то вариант есть - создавать темповую таблицу с identity полем и перегонять данные в неё, а потом в грид, но что-то не хочется использовать этот гнилой способ... так что помогите кто чем сможет,... :) заранее благодарен.


Ega23   (2004-02-04 09:29:00) [1]

Или делать это непосредственно на клиенте. Т.е. завести int поле в выборке, а потом на AfterOpen его заполнить.


Anatoly Podgoretsky   (2004-02-04 09:28:00) [2]

А теперь поставь фильтр


LordOfSilence   (2004-02-04 08:51:00) [3]

Это не "гнилой" способ.
select IDENTITY(INT,1,1) AS RowNumber, Field1, Field2
into #MyTempTable
from MySomeDataSet

Далее:
select * from #MyTempTable

Можно и по-другому, только должно выполняться условие, что твоя первичная выборка имеет условие ORDER BY по уникальномуполю.

SELECT
(SELECT COUNT(*) FROM MyTable A1
WHERE A1.SortField<=A2.SortField) NumRow,
SortField,Field1, Field2
FROM MyTable A2
ORDER BY SortField

На больших объемах, сам понимаешь, это может работать не слишком лихо.

Есть и третий, несколько "загадочный" вариант. В этом варианте в твоей таблице должно физически присутствовать поле для счетчика.

DECLARE @MyCount int
UPDATE MyTable SET @MyCount=RowNumField=IsNull(@MyCount,0)+1


В синтаксисе мог немного напутать, но, думаю, идея понятна.


-=[SDA]=-   (2004-02-04 08:29:00) [4]

ok


DenK_vrtz   (2004-02-04 08:18:00) [5]

Тут ветка дня два назад(и возникает каждую неделю не один раз с заметным постоянством) была. Поищи.


Наверх

Титульная страница Поиск, карта сайта Написать письмо