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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.10.2011, 23:40   #1
Михаил Юрьевич
Форумчанин
 
Аватар для Михаил Юрьевич
 
Регистрация: 25.12.2007
Сообщений: 655
По умолчанию Перемещение в БД

подскажите как через запрос sql можно переместить запись в БД .
Например: запись "ддд" вставить между "ааа" и "ббб"
ааа
ббб
ввв
ггг
ддд

Перемещать нужно в самой таблице,а не в DBGRID. что бы после закрытия программы , порядок не нарушился
За частые поиски был забанен во всех известных
поисковых системах!
Михаил Юрьевич вне форума Ответить с цитированием
Старый 02.10.2011, 00:05   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Вот вы берете данные из таблицы, сортируете их запросом для нужной упорядоченности при отображении, используя ORDER BY с указанием перечня полей, по которым организуется упорядоченность. Дабы изменить ее в соседних записях (согласно ключам сортировки) нужно изменить значения этих ключей. Может быть достаточно и в одной записи в зависимости от значений ключей. Другого способа нет. Есть еще наследники от TDataSet (например TClientDataSet), которые на клиенте сортируют данные, но идея все равно в том же - есть ключи сортировки и для перемещения записи нужно изменить значения ключей соседних записей
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 02.10.2011, 00:44   #3
_Engine_
Форумчанин
 
Регистрация: 29.06.2008
Сообщений: 603
По умолчанию

В БД не вставляют данные между ААА и БББ
_Engine_ вне форума Ответить с цитированием
Старый 02.10.2011, 01:14   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

присоединяюсь к вышесказанному - в реляционных БД нет физического порядка записей. единственный надёжный спобоб управлять порядком записей в запросе - использовать ORDER.

и, как абсолютно правильно заметил Аватар, если Вам нужно каким-то образом управлять порядком записей, то заводите дополнительное поле, нумеруйте его и тогда, если нужно вставить запись в определённое место задавайте значение этого поля для сортировки так, чтобы оно было больше, чем значение поля для сортировке в записи ААА и меньше, чем значение поля для сортировке в записи БББ.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перемещение окна Nikita1987 Win Api 3 08.11.2010 10:01
Перемещение объектов _-Re@l-_ Общие вопросы Delphi 10 17.06.2010 12:12
Перемещение столбцов Janny Microsoft Office Excel 6 10.11.2008 07:58
Перемещение TImage Романнн Общие вопросы Delphi 1 27.10.2008 18:38
Перемещение данных Мария100684 Microsoft Office Access 6 26.09.2008 03:45