Форум программистов, компьютерный форум CyberForum.ru

Запрос вывода порядкового номера каждой записи таблицы - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 5.00
Pisarevsky
0 / 0 / 0
Регистрация: 19.12.2010
Сообщений: 38
03.01.2011, 12:44     Запрос вывода порядкового номера каждой записи таблицы #1
Если кто знает, подскажите, как сформулировать запрос SQL Компонента
Query1 чтобы вывести порядковый номер каждой записи таблицы?

Зарнее большое спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.01.2011, 12:44     Запрос вывода порядкового номера каждой записи таблицы
Посмотрите здесь:

C++ Удаление записи из таблицы, с проверкой на совпадение с записями из другой таблицы.
C++ сформируйте и выведите на экран массив из n элементов, где каждый элемент массива равен произведению двух предыдущих и его порядкового номера
C++ Составить программу, которая в зависимости от порядкового номера месяца выводит на экран количество дней в этом месяце
Числа Фибоначчи.Определение порядкового номера элемента C++
C++ Найти наименьшие элементы в каждой матрице и напечатать их номера
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
man_of_ring
4 / 4 / 0
Регистрация: 09.12.2010
Сообщений: 278
04.01.2011, 11:02     Запрос вывода порядкового номера каждой записи таблицы #2
если в таблице есть автоинкрементное поле
то просто делай запрос по нему
C++
1
2
Query->Sql->Clear;
Query->Sql->Add('select id,name from table1');
если такого поля нет...хм...это дурацкий случай ))
так как Query возвращает набор данных...тоесть он сам по себе уже таблица..
ну использовать RecNo в этом случае не очень.
...
ты скажи что за таблица...
че в ней..
Pisarevsky
0 / 0 / 0
Регистрация: 19.12.2010
Сообщений: 38
04.01.2011, 15:41  [ТС]     Запрос вывода порядкового номера каждой записи таблицы #3
Спасибо за совет. Но моя таблица - это накладная и записи в ней могут
изменяться и удаляться. Если следовать вашей инструкции, то не будет
происходить пересчета записей при удалении какой-либо из них (т. е.
например, таблица содержит 3 записи, их порядковые номера - 1, 2, 3.
Если я удалю запись 2, то их порядковые номера будут 1, 3, а не 1, 2.
). Так что этот вариант мне не подходит.
man_of_ring
4 / 4 / 0
Регистрация: 09.12.2010
Сообщений: 278
06.01.2011, 10:08     Запрос вывода порядкового номера каждой записи таблицы #4
если это скажем SQL сервак 2000 можно написать триггер...
или хранимую процедуру...
в принципе не тока MSSQL ну и всякие InterBase, MySQL...
на них тоже...
если настольная база типа дбф или парадокс...
это сложнее....я б сказал..
в принципе это лишь трата времени...на кодинг..
ну один из вариантов...
создавать таблицу временную...и каждый раз при удлалении..
скажем в отдельном потоке...заполнять ее из рабочей и записи..нумеровать как надо..
а потом в обратку...
Airhand
Сообщений: n/a
06.01.2011, 13:31     Запрос вывода порядкового номера каждой записи таблицы #5
SQL
1
2
3
4
5
6
7
8
9
10
CREATE TABLE _tmp
(
  code INT IDENTITY,
  name CHAR(32) NOT NULL /* поле или группа для пронумеровки */
)
 
INSERT INTO _tmp(name)
SELECT names FROM MAIN
 
SELECT * FROM _tmp
Еще лучше создать хранимую функцию на серваке типа:
SQL
1
2
3
4
5
6
7
8
9
10
CREATE FUNCTION DBO.TMP_SN ()  
RETURNS INT 
AS  
BEGIN 
    DECLARE @n INT
    SELECT @n=MAX(_id)+1 FROM MAIN
    IF(@n IS NULL)
        SELECT @n=1
    RETURN @n
END
Использование:
SQL
1
2
INSERT INTO _tmp
SELECT dbo.TMP_SN(),name FROM MAIN
Yandex
Объявления
06.01.2011, 13:31     Запрос вывода порядкового номера каждой записи таблицы
Ответ Создать тему
Опции темы

Текущее время: 20:26. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru