Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > Работа с БД


Автор: kwotz 7.7.2007, 17:33
Вот есть БД на акцессе. Хочу чтобы в таблицу, в ее середину, например, добавлялась строка, при этом строки сдвигались последовательно на одну строку вниз, т.е. если было 10 записей, я вставляю одиннадцатую на пятое место - пятая должна стать шестой, шестая седьмой и т.д. Как это мне сделать???

Автор: Rodman 7.7.2007, 23:57
ты или добавляешь в коне таблицы, либо запоминаешь все после 5, а после добавления твоей строки добавляешь их... либо у тебя плохая идея...

зачем такое надо... может тебе надо просто добавлять, а потом выводить в нужном виде!

Автор: SergeBS 8.7.2007, 04:25
kwotz
Цитата
Вот есть БД на акцессе. Хочу чтобы в таблицу, в ее середину, например, добавлялась строка, при этом строки сдвигались последовательно на одну строку вниз, т.е. если было 10 записей, я вставляю одиннадцатую на пятое место - пятая должна стать шестой, шестая седьмой и т.д. Как это мне сделать??? 

Хоти. А заодно можешь захотеть вечный двигатель 2 рода заиметь. На дачку. На халяву.

Автор: FlaGmaN 10.7.2007, 08:11
Помойму это сдесь не уместно

Rodman правельно сказал, пиши в конец, потом отсортируешь как надо и выведишь. не забивай голову ерундой

Автор: Akella 13.7.2007, 09:51
Цитата(Rodman @  7.7.2007,  23:57 Найти цитируемый пост)
потом выводить в нужном виде! 

так обчно и делают
добавь целочисленное поле, куда записывай цифры, а потом по этому полю сортируй

Автор: bas 13.7.2007, 14:04
Когда 10-20 записей не проблема, решений много от глупого перемещения 9-19 записей до полного самомазохизма . 
Но когда записей больше миллиона то не одно решение не поможет, тормоза будут включенны на полную катушку.

Добавлено @ 14:08
Цитата(Akella @  13.7.2007,  09:51 Найти цитируемый пост)
вь целочисленное поле,

Тогда надо будет сначала выполнить запрос на изменение ниже стоящих записей
Код

UPDATE SalesInfo SET id = id+1 WHERE (id >2)

, потом вставить запись

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)