Помощь - Поиск - Пользователи - Календарь
Полная версия: Последовательность ввода данных в БД - ?
Форум «Всё о Паскале» > Современный Паскаль и другие языки > Делфи
1147
В базу данных вводятся в определенном порядке записи с одинаковой датой. Например в такой последовательности: 1,2,3,4,5,6,7. После перезапуска программы, введенные записи руководствуясь какому-то принципу, перемешиваются между собой. Т.е. нарушается первоначальная последовательность, с которой их ввели в базу: 7,1,2,3,5,4,6
В событии FormShow данные сортируются по дате ввода. Т.е. каждый раз, при запуске программы происходит сортировка, но почему тогда данные, введенные в один и тот же день (с одинаковой датой) перемешиваются между собой?
По какой причине может происходить подобное нарушение порядка ввода данных и можно ли сделать так, чтобы последовательность, с которой данные вводятся в базу, сохранялась?
volvo
Ты опять путаешь, собственно хранилище данных (БД) и их отображение (DBGrid, к примеру). Что значит
Цитата
В событии FormShow данные сортируются по дате ввода.
? Это не данные сортируются, а их отображение. Значит, в таблице в самой БД установлено упорядочивание по какому-то полю, заставляющее данные с одинаковой датой отображаться так, как положено (согласно этому полю), а не так, как хочется тебе.

Проверяй Ключи, Индексы, сортировки в таблицах, что угодно может быть.
andriano
Цитата(1147 @ 4.12.2009 0:46) *

По какой причине может происходить подобное нарушение порядка ввода данных и можно ли сделать так, чтобы последовательность, с которой данные вводятся в базу, сохранялась?
Нарушения порядка не происходит.
Просто БД устроены принципиально так, что порядок ввода данных НЕ ИМЕЕТ ЗНАЧЕНИЯ, поэтому и сохранять, собственно, нечего.
Если же для тебя важен порядок ввода, то для него нужно ввести дополнительное поле, которое будет инкрементироваться при вводе данных. А потом по этому полю можно задать сортировку.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.