Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Счетчик через SQL запрос / 10 сообщений из 10, страница 1 из 1
13.02.2003, 16:48
    #32106102
bzum
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Счетчик через SQL запрос
Можно ли средствами sql написать счетчик , типа первая строка , вторая и так сколько строк в наборе такой и номер строки .
Я не думаю что такое возможно , но может кто подскажет
Именно одной инструкцией SQL .
...
Рейтинг: 0 / 0
13.02.2003, 17:10
    #32106145
Dim Grishin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Счетчик через SQL запрос
в смысле пронумеровать?
...
Рейтинг: 0 / 0
14.02.2003, 04:43
    #32106332
StarWind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Счетчик через SQL запрос
Смотря в какой базе в Oracle можно... там для этого есть псевдостолбец rownum
...
Рейтинг: 0 / 0
14.02.2003, 07:09
    #32106340
Jozo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Счетчик через SQL запрос
А какую БД юзаеш ???
...
Рейтинг: 0 / 0
14.02.2003, 07:22
    #32106342
LexusR
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Счетчик через SQL запрос
если требуемый запрос отсортирован по какому-либо уникальному полю
то можно получить нумерацию таким образом
Код: plaintext
1.
2.
select T.*, (select count(P1.KeyField) from YourTable T1 where T1.KeyField < T.KeyField) as Number  from YourTable  T
order by T.KeyField
...
Рейтинг: 0 / 0
14.02.2003, 08:30
    #32106363
StarWind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Счетчик через SQL запрос
И опять же не все базы даже такое поддержат....
...
Рейтинг: 0 / 0
19.02.2003, 07:55
    #32108414
kun
kun
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Счетчик через SQL запрос
А в MS SQL Server такое возможно? Если возможно, то как?
...
Рейтинг: 0 / 0
19.02.2003, 10:24
    #32108521
ziktuw
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Счетчик через SQL запрос
Как указал LexusR.

Но на MSSQL можно сделать и более эффективное (по скорости исполнения) решение:

Код: plaintext
1.
2.
3.
set nocount on
select identity(int, 1 , 1 ) Number, * into #tmp from Table ..... order by ....
select * from #tmp order by Number
drop table #tmp
...
Рейтинг: 0 / 0
20.02.2003, 06:49
    #32109125
rock
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Счетчик через SQL запрос
Подскажите как такое сделать на Дельфи, например с помощью вычисляемых полей?
Пробовал так:
OnCalcField:
ADOQuery.FieldByName('RecNo'):=ADOQuery.RecNo;

но почему то первая строка равно -1... 8-(
Может элегантнее способ есть?
...
Рейтинг: 0 / 0
20.02.2003, 07:11
    #32109129
LexusR
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Счетчик через SQL запрос
Просто DataSet.Bof = true и поэтому для первой записи дает -1
(если потом проскролить вниз и вверх то -1 нормально отображается как 1)
поставь защиту от -1 и будет счастье
Код: plaintext
1.
2.
3.
 ADOQuery.FieldByName('RecNo').value := ADOQuery.RecNo; 
 if  ADOQuery.FieldByName('RecNo').value = - 1  then
   ADOQuery.FieldByName('RecNo').value :=  1 ;
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Счетчик через SQL запрос / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]