Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.07.2008, 21:33   #1
ASS84
Новичок
Джуниор
 
Регистрация: 28.07.2008
Сообщений: 1
По умолчанию Как прономеровать строки

Вопрос такой: Сделал запрос, результат получил. Как прономеровать строки с результатом (1,2,3 и т. д.)
ASS84 вне форума Ответить с цитированием
Старый 28.07.2008, 22:35   #2
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,865
По умолчанию

Пронумеровать на этапе вывода полученной информации или именно что бы в результате появился новый столбец с номерами строк?
Arigato вне форума Ответить с цитированием
Старый 28.07.2008, 23:49   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

всё зависит от конкретной СУБД.
например, в Oracle достаточно написать
select rownum ....
ну, или так:
select rownum, MySelect.* from (select * from Table where условия...) MySelect

а если СУБД - MS SQL - то читаем тут - FAQ - Microsoft SQL Server - Возвращение порядковых номеров строк в результирующем наборе
Serge_Bliznykov вне форума Ответить с цитированием
Старый 29.07.2008, 09:12   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Если в Делфи, то можно просто сделать вычисляемое поле и нумероватьего через RecNo.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 29.07.2008, 16:22   #5
Roof
Форумчанин
 
Аватар для Roof
 
Регистрация: 01.02.2007
Сообщений: 785
По умолчанию

2 Stilet - а как получить доступ к этому RecNo?
Например, в DBGrid хочу пронумеровать?
Изо всей благодати
В руках крепко сжатых
Я донесу только капли
Roof вне форума Ответить с цитированием
Старый 29.07.2008, 16:48   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну например так:
Код:
procedure TForm1.Table1CalcFields(DataSet: TDataSet);
begin
DataSet.FieldByName('qw').AsInteger:=DataSet.RecNo;
end;
Здесь qw - вычисляемое поле.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 30.07.2008, 13:31   #7
Roof
Форумчанин
 
Аватар для Roof
 
Регистрация: 01.02.2007
Сообщений: 785
По умолчанию

2 Stilet Чего-то никак не могу привязать к своему исходнику этот код Посмотри, пожалуйста. Там в колонке 'Номер' нужно проставить номера строк в DBGrid.
Вложения
Тип файла: rar calc fields.rar (15.5 Кб, 11 просмотров)
Изо всей благодати
В руках крепко сжатых
Я донесу только капли
Roof вне форума Ответить с цитированием
Старый 30.07.2008, 14:39   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Roof
Вот исправил. Там только баг с некоторыми записями, но это уж сам правть буш
Вложения
Тип файла: rar calc fields.rar (313.8 Кб, 19 просмотров)
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 30.07.2008, 15:11   #9
zetrix
Delphi/C++/C#
Участник клуба
 
Аватар для zetrix
 
Регистрация: 29.10.2006
Сообщений: 1,972
По умолчанию

баг, получается -1? ))
я только что пробовал... не понимаю откуда -1 вылезает.
zetrix вне форума Ответить с цитированием
Старый 30.07.2008, 17:11   #10
Roof
Форумчанин
 
Аватар для Roof
 
Регистрация: 01.02.2007
Сообщений: 785
По умолчанию

2 Stilet - Спасиб! То что нужно! А баг я исправил вот так:
Код:
DataSet.FieldByName('calc').AsInteger:=DataSet.RecNo;
if  DataSet.FieldByName('calc').AsInteger <1 then
DataSet.FieldByName('calc').AsInteger:= 1;
может и не очень находчиво, но работает
Изо всей благодати
В руках крепко сжатых
Я донесу только капли
Roof вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Строки Baboon Общие вопросы Delphi 1 06.06.2008 20:55
считать из файла две строки, вывести на экран символы первой строки, которые отсутствуют во второй gotex Помощь студентам 4 08.05.2008 02:27
Строки в Си pushok Помощь студентам 3 17.04.2008 17:57
строки Yep Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 22.12.2007 16:22
как вывести строку поочередно сначала первая буква первой строки потом первая буква второй строки и т.д. vitalik007 Помощь студентам 1 25.09.2007 20:45