Mazin78 Ответов: 1

Как мне отсортировать столбец в SQL compact 4.0 по умолчанию?


Привет, я использую sql compact 4.0 для просмотра моей таблицы базы данных. Первая колонка-это Айди, который по умолчанию не сортирует строки таблицы по возрастанию. Я добавил пример, чтобы показать случай, когда 207 и 208 идут перед 196.

в SQL компактный 4 — Postimage.org[^]
Как я могу отсортировать этот столбец по умолчанию в восходящем порядке?

Что я уже пробовал:

[Key]
[Index]        
public int Id { get; set; }


Но это не работает.

1 Ответов

Рейтинг:
12

Dave Kreskowiak

Нет такой вещи, как делать это "по умолчанию".

Отображение отсортированной записи-это функция пользовательского интерфейса, а не та, которую база данных выполняет "по умолчанию". Порядок получения записей из базы данных, если в запросе явно не указано "ORDER BY", не гарантируется. Если вы хотите отсортировать записи, вам придется указать это в команде запроса.


Mazin78

Спасибо, Дэйв. Я понимаю, что "порядок по" используется, если я хочу показать содержимое базы данных как "результат"; однако я подумал, что есть способ сортировать содержимое "динамически". Я имею в виду, что когда я добавляю строку "вручную", она будет отображаться и сортироваться непосредственно без необходимости использовать "ORDER BY" каждый раз.

Итак, судя по вашему ответу, я думаю, что это невозможно, не так ли?

Извините, мой английский не очень хорош, и я новичок в программировании.

Dave Kreskowiak

Опять же, таблица базы данных не имеет для них порядка. Единственный раз, когда есть заказ, это когда вы включаете предложение "ORDER BY".

Mazin78

Спасибо, Дэйв, у меня есть еще один вопрос, пожалуйста. Предположим, что у меня есть таблица из 23 строк, когда я удаляю строку 23 из таблицы и вставляю новую строку, новая строка принимает идентификационный номер 24. Я имею в виду, что стол будет иметь 1, 2, 3....21, 22 итак, число 23 не показывается. Как я могу избежать этой проблемы и установить новую строку под номером 23 вместо 24? Заранее спасибо

Dave Kreskowiak

Вы используете столбец с автонумеровкой для идентификатора. Ты не можешь этого избежать. Единственный способ сделать это-иметь другой столбец, в котором вы присваиваете эти значения. Столбец ID никогда не должен быть частью ваших бизнес-данных. Он просто существует, чтобы однозначно идентифицировать каждую запись в таблице.

В зависимости от ваших бизнес-правил для этих данных вы можете смоделировать выполнение этого числового значения заказа с помощью ROWCOUNT. Google для "SQL ROWCOUNT" для документации и примеров.

Но, как правило, то, что вы имеете в виду, - это просто еще одна вещь пользовательского интерфейса, а не фактическая часть данных.

Mazin78

Блестяще, большое спасибо...