Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 935

/ вопрос открыт /

Здравствуйте!
БД, таблица Paradox.
Строковое значение поля, при записи в поле строковых
значений 1... 1500 получаю 1,11..19,2,21..29,3,31 и т.д.
Как получить нормальный порядок следования цифр ?
Это нужно для задания таких значений как - 123а, 45б и пр.
Буду чрезвычайно благодарен тому, кто поможет мне.
Аркадий.

Arkadiy Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: Arkadiy (статус: Посетитель)
Вопрос отправлен: 23 сентября 2007, 07:30
Состояние вопроса: открыт, ответов: 1.

Ответ #1. Отвечает эксперт: Помфюк Владимир Степанович

Здравствуйте, Arkadiy!
Разделите на два поля: no и lt - числовое и строковое соответственно и пишите число в числовое, а "нечисло" - в строковое. Или всё - в строковое, а цыфры - в числовое. Тогда будет нормальная сортировка.

Ответ отправил: Помфюк Владимир Степанович (статус: Абитуриент)
Время отправки: 24 сентября 2007, 10:02
Оценка за ответ: 4


Мини-форум вопроса

Всего сообщений: 9; последнее сообщение — 28 октября 2007, 09:21; участников в обсуждении: 3.
Dron

Dron (статус: Студент), 23 сентября 2007, 18:04 [#1]:

Уточните, пожалуйста, вопрос. Вы в текстовое поле записываете цифры, а впоследствии при выборке они идут не по порядку?
С уважением.
Arkadiy

Arkadiy (статус: Посетитель), 25 сентября 2007, 05:49 [#2]:

Числа идут по порядку, но некоторые с буквами.
Идея понятна, но не очень коректна!.
Неужели нет способа отключения нежелательной сортировки?
Arkadiy
Arkadiy

Arkadiy (статус: Посетитель), 26 сентября 2007, 06:44 [#3]:

Нахожусь в тупике.Не могу дальще продвигаться.
Нужна помощь ЗНАТОКА !
Спасибо.
Аркадий
Feniks

Feniks (статус: Бакалавр), 26 сентября 2007, 16:44 [#4]:

Здравствуйте, Arkadiy!
Попробуйте поэкспериментировать с индексами. В Парадоксе можно индексировать паля. Если поля не имеет индекса, то оно не будет автоматом сортироваться в самой БД. Возможно у Вас не БД делает сортировку, а те компоненты или средства, которыми Вы пользуетеся для выборки и/или обработки данных.
Arkadiy

Arkadiy (статус: Посетитель), 27 сентября 2007, 06:20 [#5]:

Здравствуйте, Feniks.
Спасибо за совет.
У меня поле проиндексировано. Попробую убрать индекс.
Аркадий.
Может у кого-нибудь есть еще идеи ?.
Feniks

Feniks (статус: Бакалавр), 27 сентября 2007, 09:58 [#6]:

Только Вы учтите, что после удаления индекса порядок уже существующих записей не изменится, а вот новые будут добавляться по порядку в конец. И если у вас таблица большая и записей там очень много, ключевые поля, по которым Вы делаете выборки/поиск данных, все-таки надо индексировать для увеличения быстродействия БД. Но как показываем мой опыт, если даже в таблице несколько тысяч строк и полей несколько, то отсутствие индексов на современной технике практически не ощутимо.
Еще одна идея. Это делать выборку из БД и уже самому сортировать данные как надо, т.е. нужна своя функция для сортировке и отображения данных. Но опять таки, если цифры представлены в тексте, то правельно они не отсортируются, т.к. сортировка делается согластно таблице кодов и сравнение идет по символу слева на право.
Dron

Dron (статус: Студент), 27 сентября 2007, 11:34 [#7]:

Feniks:

Цитата:

> Это делать выборку из БД и уже самому сортировать данные как надо, т.е. нужна своя функция для сортировке и отображения данных. Но опять таки, если цифры представлены в тексте, то правельно они не отсортируются, т.к. сортировка делается согластно таблице кодов и сравнение идет по символу слева на право.

Не понимаю... При написании своей функции сортировки можно делать вообще всё, что угодно. А вы тут же говорите, что даже с функцией они правильно не отсортируются.
Функция сортировки - сравнение двух элементов. Здесь можно и буквы учитывать и их отсутствие. Всё очень даже получится. Единственная неприятность - работать будет дольше, чем сортировка в БД.
С уважением.
Arkadiy

Arkadiy (статус: Посетитель), 29 сентября 2007, 07:12 [#8]:

Спасибо всем.
Попробую реализовать ваши предложения.
С уважением
Аркадий
Arkadiy

Arkadiy (статус: Посетитель), 28 октября 2007, 09:21 [#9]:

Можно ли в строковом поле БД Парадокса
отключить сортировку чисел ?

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:26
Выполнено за 0.02 сек.