Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Делфи _ Последовательность ввода данных в БД - ?

Автор: 1147 4.12.2009 4:46

В базу данных вводятся в определенном порядке записи с одинаковой датой. Например в такой последовательности: 1,2,3,4,5,6,7. После перезапуска программы, введенные записи руководствуясь какому-то принципу, перемешиваются между собой. Т.е. нарушается первоначальная последовательность, с которой их ввели в базу: 7,1,2,3,5,4,6
В событии FormShow данные сортируются по дате ввода. Т.е. каждый раз, при запуске программы происходит сортировка, но почему тогда данные, введенные в один и тот же день (с одинаковой датой) перемешиваются между собой?
По какой причине может происходить подобное нарушение порядка ввода данных и можно ли сделать так, чтобы последовательность, с которой данные вводятся в базу, сохранялась?

Автор: volvo 4.12.2009 5:12

Ты опять путаешь, собственно хранилище данных (БД) и их отображение (DBGrid, к примеру). Что значит

Цитата
В событии FormShow данные сортируются по дате ввода.
? Это не данные сортируются, а их отображение. Значит, в таблице в самой БД установлено упорядочивание по какому-то полю, заставляющее данные с одинаковой датой отображаться так, как положено (согласно этому полю), а не так, как хочется тебе.

Проверяй Ключи, Индексы, сортировки в таблицах, что угодно может быть.

Автор: andriano 4.12.2009 16:54

Цитата(1147 @ 4.12.2009 0:46) *

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