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

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

порядковый номер записей


sashapont ©   (2004-07-23 04:51:00) 

Додскажите плиз как сделать чтобы вместе с каждой новой записью автоматически добавлялся её порядковый номер в соседний столбик?


sashapont   (2004-07-23 20:25:00) [1]

Я юзаю простую базу db оракла не использую пишу прогу по учёту статистики подключений к инету! И каждой записи надо присваивать номер, подскажите плиз как ето попроще сделать!!!


Sergey13   (2004-07-23 12:36:00) [2]

2Курдль ©   (23.07.04 12:33) [14]
Да кто ж знает то - что ему надо? Нет человека - нет проблемы. 8-)


Курдль   (2004-07-23 12:33:00) [3]


> Sergey13 ©   (23.07.04 12:28) [13]
> Изменяет. 8-) Rownum вычисляется при выборке до сортировки.

А кто сомневался (мы друг друга не поняли). Так ЭТО надо вопрошающему, или НЕ ЭТО?


Sergey13   (2004-07-23 12:28:00) [4]

2Fay ©   (23.07.04 12:26) [12]
Изменяет. 8-) Rownum вычисляется при выборке досортировки.


Fay   (2004-07-23 12:26:00) [5]

2Sergey13 ©   (23.07.04 12:21) [11]
Если склероз мне не изменяет, то это далеко не случайность.


Sergey13   (2004-07-23 12:21:00) [6]

2Курдль ©   (23.07.04 12:19) [10]
>порядок строк сохранился
Это тебе просто повезло. Случайность. 8-)


Курдль   (2004-07-23 12:19:00) [7]


> Sergey13 ©   (23.07.04 12:07) [9]
> А если в твоем Оракловом варианте еще Order By добавить?

И чё? Добавил:
select rownum, T.* from TABLE_1 T order by 2
порядок строк сохранился. А этого не надо? И вообще, откуда ты знаешь, что надо, ведь автор sashapont © устранился (надеюсь, пошел читать книжки) :)


Sergey13   (2004-07-23 12:07:00) [8]

2Курдль ©   (23.07.04 11:28) [5]
А если в твоем Оракловом варианте еще Order By добавить?


sniknik   (2004-07-23 11:58:00) [9]

можно так
SELECT Recno=Identity(int,1,1),* INTO #TABLE_1 FROM TABLE_1
SELECT * FROM #TABLE_1


Курдль   (2004-07-23 11:47:00) [10]


> sniknik ©   (23.07.04 11:38) [6]
> MS SQL такое не примет.

Ну вот :(    MS даже прилично стырить Sybase не смогли :(


sniknik   (2004-07-23 11:38:00) [11]

Курдль ©   (23.07.04 11:28) [5]
MS SQL такое не примет.

нет пишет он под фоксом...
select recno() from TABLE_1


Курдль   (2004-07-23 11:28:00) [12]


> Sergey13 ©   (23.07.04 08:54) [3]
> Даже новичку желательно указывать тип используемой базы.


Да нормальный новичок! Пишет, естественно, под Оракл:
select rownum from TABLE_1
на крайняк - под Sybase или MS SQL:
select number(*) from TABLE_1


Draught   (2004-07-23 09:59:00) [13]

добавить автоинкрементное поле в таблицу и будет тебе счастье...
только это поле показывает не действиетльный номер записи в таблице а вообще номер записи за всю жизнь таблицы, даже при удалении 3 записи 4 запись будет всегда с 4-м номером...

В случае, когда можно использовать DataSt.RecNoты можешь сам контролировать номера записей, еще можно использовать DataSet.RecordCount- в этом случае ты будешь знать сколько записей у тебя в таблице и соответственно каждой новой записи присваивать RecordCount+1...

Да и еще, возможно пригодится для экономии места в таблице, можно не добавлять еще одно поле для того, что бы узнать номер записи в таблице, можно просто вызывать DataSet.RecNo- он всегда будет возвращать тебе номер записи, так же можно переходить на определенный номер записи сделав несложные действия DataSet.RecNo:=<какой-нить номер>


Sergey13   (2004-07-23 08:54:00) [14]

2sashapont ©   (23.07.04 05:55) [2]
Даже новичку желательно указывать тип используемой базы.


sashapont   (2004-07-23 05:55:00) [15]

to ЮЮ Я новичок не совсем понял, можно с примером плиз!


ЮЮ   (2004-07-23 05:01:00) [16]

записи добавляются в таблицу, по соседству с которой столбик не обнаружен.

Если движок поддерживает DataSet.RecNo можешь рисовать его в гриде, добавив, например, вычислимое поле, и в DataSet.OnCalcFields :
 DataSet.Field[].asInteger := DataSet.RecNo;


Наверх

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