21.02.2019, 14:03 [+3 UTC]
в нашей команде: 3 400 чел. | участники онлайн: 8 (рекорд: 21)

:: РЕГИСТРАЦИЯ

задать вопрос

все разделы

правила

новости

участники

доска почёта

форум

блоги

поиск

статистика

наш журнал

наши встречи

наша галерея

отзывы о нас

поддержка

руководство

Версия системы:
7.69 (10.02.2019)
JS-v.1.33 | CSS-v.3.35

Общие новости:
10.02.2019, 21:59

Форум:
16.02.2019, 15:03

Последний вопрос:
21.02.2019, 13:12
Всего: 148798

Последний ответ:
21.02.2019, 09:18
Всего: 257813

Последняя рассылка:
20.02.2019, 21:15

Писем в очереди:
0

Мы в соцсетях:

Наша кнопка:

RFpro.ru - здесь вам помогут!

Отзывы о нас:
03.02.2019, 15:34 »
dar777
Решение просто отличное! [вопрос № 194544, ответ № 277375]
12.09.2010, 12:31 »
Мишин Александр Михайлович
Большое вам спасибо за подробный ответ [вопрос № 179907, ответ № 263038]

РАЗДЕЛ • Pascal / Delphi / Lazarus

Создание программ на языках Pascal, Delphi и Lazarus.

[администратор рассылки: Зенченко Константин Николаевич (Старший модератор)]

Лучшие эксперты в этом разделе

Зенченко Константин Николаевич
Статус: Старший модератор
Рейтинг: 397
zdwork
Статус: 1-й класс
Рейтинг: 111
puporev
Статус: Профессионал
Рейтинг: 105

Перейти к консультации №:
 

Консультация онлайн # 142103
Раздел: • Pascal / Delphi / Lazarus
Автор вопроса: Maximus777
Отправлена: 24.08.2008, 14:23
Поступило ответов: 1

Господа, подскажите плиз! Возможно ли в DBGrid наладить перетаскивание строк? Если да, то можно пример? Мне требуется добавлять записи в таблицу в определённое место, к примеру над текущей строкой. Но когда я делаю Insert, то запись появляется в конце таблицы. Использую Delphi 10 и mdb через ADO.

Состояние: Консультация закрыта

Ответ # 227813 от Виктор Пырлик

Здравствуйте, Maximus777!

В реляционных базах данных нет понятия "первая", "вторая", "34-я" и т.д. запись/строка - это набор данных лежащий в произвольном порядке.
Но за счет введения ключей и индексов, можно добиться того, что данные будут упорядочены по первому полю, точнее, по всему индексу, но первое поле индекса будет формирующим, или задать сортировку в ручную ORDER BY например. Таким образом, "перетаскивание" или "вставка" в определенное положение данных не имеет смысла, т.к. их порядок, повторяю, зависит от индексации в таблице данных.

Используйте настройки таблицы (индексы, ключевые поля).


Консультировал: Виктор Пырлик
Дата отправки: 25.08.2008, 06:10

Рейтинг ответа:

0

[подробно]

Сообщение
модераторам

Отправлять сообщения
модераторам могут
только участники портала.
ВОЙТИ НА ПОРТАЛ »
регистрация »

Мини-форум консультации № 142103
Виктор Пырлик

# 1

= общий = | 25.08.2008, 16:38

© Цитата:
но изменить ключевое поле у меня не получилось


Нет и не может быть "номера записи", в этом смысле - все записи равносильны и безымянны.
Например:
Масло
Меланин
Миша
Мир
Мина


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

Вот отсюда и можно "плясать".. Например, у вас какие то данные могут быт про индексированы (фамилия, имя, номер чего-то и т.д.) то вставляя записи, они будут "сортироваться с заданным индексом или, если это первичный ключ, то по ключу (если нет иной сортировки)..
т.е. очередное слово "мармелад" будет отображено сразу за "Масло"..
Можно применить суррогатный ключ, т.е. это такой ключ, который назначается искусственно созданным полям, например, номер записи.. Тогда, присвоив этому полю свойство уникального (или первичного) ключа, мы можем управлять куда вставить данные.. передвигать их меняя номер записи, но повторяю - номер записи, в этом случае, есть искусственно созданное поле и о его "правильности" мы должны беспокоиться сами.. т.е. заполнять его с следить за нумерацией..
Вообще, это искусственная проблема, которая в нормальных приложениях не возникает, ибо само определение реляционных баз данных даёт на это ответ smile И нет необходимости стремиться «вставить запись в заданное положение».
Изменять ключевое поле не надо, часто просто не получится.

PS: любое приложение для работы с базой данных - всего лишь способ отображения, изменения добавления и удаления записей.

 

Возможность оставлять сообщения в мини-форумах консультаций доступна только после входа в систему.
Воспользуйтесь кнопкой входа вверху страницы, если Вы зарегистрированы или пройдите простую процедуру регистрации на Портале.

Яндекс Rambler's Top100

главная страница | поддержка | задать вопрос

Время генерирования страницы: 0.13991 сек.

© 2001-2019, Портал RFPRO.RU, Россия
Калашников О.А.  |  Гладенюк А.Г.
Версия системы: 7.69 от 10.02.2019
Версия JS: 1.33 | Версия CSS: 3.35