Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
138 / 136 / 100
Регистрация: 10.03.2015
Сообщений: 553
Interbase

Сортировка данных, используя TDbGrid, TTable и TDataSource

01.01.2018, 16:06. Показов 3229. Ответов 34

Студворк — интернет-сервис помощи студентам
Используя программный код, содержащийся ниже реализую сортировку поля tovar по возрастанию / убыванию, в зависимости от того, какое значение принимает переменная-счетчик k. Проблема возникла в том, что сортировка происходит только по возрастанию. Хотя индекс в базе данных создается, как для первого, так и для второго случая. Может кто-то уже встречался с такой проблемой, прошу помочь. Я понимаю, что для данной проблемы целесообразно было бы в качестве набора данных использовать компоненте TQuery, но в задании содержится именно компонент TTable.
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
var
   k: integer = 1;
procedure TForm1.DBGrid1TitleClick(Column: TColumn);
var
   i: integer;
begin
     Table1.Close;
     Table1.Exclusive := True;
     Table1.Open;
     Table1.IndexDefs.Update;
     for i := 0 to Table1.IndexDefs.Count - 1 do
       if (Table1.IndexDefs.Items[i].Name = 'tovar_index') then
         begin
           Table1.IndexName := '';
           Table1.DeleteIndex(Table1.IndexDefs.Items[i].Name);
           break;
         end;
     if (Column.FieldName = 'tovar') then
       begin
         if (k mod 2 = 0) then
           Table1.AddIndex('tovar_index', 'tovar', [ixDescending])
         else
           Table1.AddIndex('tovar_index', 'tovar', []);
         Table1.IndexName := 'tovar_index';
         k := k + 1;
       end;
     Table1.Close;
     Table1.Exclusive := False;
     Table1.Open;
end;
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
01.01.2018, 16:06
Ответы с готовыми решениями:

Компоненты TTable,TDataSource и TDBGrid
Создаю проект, на форму помещаю эти компоненты, но в инспекторе объектов TDataSource свойство DataSet не показывает мне возможности связи с...

TDBGrid, TTable - как отображать сначала новые записи, а потом старые
Hi 8-), подскажите, как при открытии таблицы, и отображении в DBGrid, сначала отображать новые (или последние / свежие) строки? Т.е. нужно...

Сортировка и TTable.
Здравствуйте. Скажите пожалуйста, реально-ли сделать сортировку, используя для соединения TTable. С ADO-компонентами это просто, а вот с...

34
Айлурофил
 Аватар для Massaraksh7
516 / 449 / 112
Регистрация: 27.05.2017
Сообщений: 2,707
Записей в блоге: 5
06.01.2018, 21:45
Студворк — интернет-сервис помощи студентам
Для какой БД?
0
 Аватар для krapotkin
6849 / 4676 / 1464
Регистрация: 14.04.2014
Сообщений: 20,672
Записей в блоге: 21
07.01.2018, 11:23
Massaraksh7,
в заголовке по-прежнему Interbase
Цитата Сообщение от ROS88 Посмотреть сообщение
А. Хоменко, В. Гофман Delphi
Автор: Владимир Гофман-Анатолий Хомоненко
Год выпуска: 2003
Формат/Качество: pdf
Язык: Русский

О Книге:
В книге описываются интерфейс системы визуального программирования Delphi на основе 6-й версии, состав и характеристика элементов проекта дополнения, приемы программирования на бейсике Object Pascal. Рассматриваются визуальные компоненты, используемые для произведения интерфейса добавлений. Техника страды с текстовой сведений, кнопками и переключателями, а тоже формами, являющиmися центральной частью любимого дополнения. Творение меню. Даются понятия. Испщльзнамыа в теории баз данных; обсуждаются элементы реляционных баз данных и особенности их применения; описываются творение таблиц и дополнения баз данных, приемы работы с данными, накачка отчетов

Добавлено через 23 секунды
описание отдельно прекрасно в каждой строке )))
0
138 / 136 / 100
Регистрация: 10.03.2015
Сообщений: 553
07.01.2018, 11:29  [ТС]
Самоучитель Delphi. — 2-е изд., перераб. и доп. / А. Д. Хомоненко, В. Э. Гофман. — СПб.: БХВ-Петербург, 2008. — 576 с.
Описываются интерфейс системы Delphi на примере версии 7.0, состав и характеристика элементов проекта приложения, приемы программирования на языке Delphi. Рассматриваются визуальные компоненты, используемые для создания интерфейса приложений; компоненты и техника работы с текстовой информацией, кнопками и переключателями, а также формами.
Описываются развитые элементы интерфейса, использование графики и мультимедиа, работа с файлами и каталогами. Даются понятия, связанные с реляционными базами данных. Описывается создание приложений баз данных, подготовка отчетов с помощью генератора Rave Reports. Даются основы разработки приложений для работы в Интернете, работа с электронной
почтой и Web-документами. На компакт-диске содержатся многочисленные листинги программ, приведенных в книге.
Вложения
Тип файла: pdf samouchitel_delphi.pdf (5.25 Мб, 4 просмотров)
0
 Аватар для krapotkin
6849 / 4676 / 1464
Регистрация: 14.04.2014
Сообщений: 20,672
Записей в блоге: 21
07.01.2018, 11:42
все что вам написали про "индексные файлы" относится к BDE и Paradox, хотя в явном виде тут это не написано...

Добавлено через 1 минуту
в любом случае, нет смысла далее обсуждать это. либо вы начинаете пользоваться SQL запросами, либо ваши раскопки проходят по категории археология и никакого практического смысла не имеют...
1
138 / 136 / 100
Регистрация: 10.03.2015
Сообщений: 553
07.01.2018, 11:59  [ТС]
Цитата Сообщение от krapotkin Посмотреть сообщение
либо ваши раскопки проходят по категории археология и никакого практического смысла не имеют...
Друг, я в #1 подробно написал, что есть задача, которую нужно реализовать. Если бы можно было использовать SQL-запросы, я бы даже не создавал эту тему. С помощью SQL это достаточно просто решается.

Добавлено через 10 минут
В любом случае, спасибо за диалог.
0
Айлурофил
 Аватар для Massaraksh7
516 / 449 / 112
Регистрация: 27.05.2017
Сообщений: 2,707
Записей в блоге: 5
07.01.2018, 15:17
Цитата Сообщение от krapotkin Посмотреть сообщение
Massaraksh7,
в заголовке по-прежнему Interbase
Вопрос был риторический, нельзя говорить, рабочий код или нет, не упоминая, о работе с какой БД идёт речь.

Добавлено через 2 минуты
Цитата Сообщение от ROS88 Посмотреть сообщение
есть задача, которую нужно реализовать.
В #9 я написал, как это реализовать.
0
138 / 136 / 100
Регистрация: 10.03.2015
Сообщений: 553
07.01.2018, 15:30  [ТС]
Цитата Сообщение от Massaraksh7 Посмотреть сообщение
Создать индекс по убыванию и работать с ним.
Пробовал создать индекс как по возрастанию так и по убыванию, значение в компоненте TDBGrid не сортируются.
0
Айлурофил
 Аватар для Massaraksh7
516 / 449 / 112
Регистрация: 27.05.2017
Сообщений: 2,707
Записей в блоге: 5
07.01.2018, 15:44
То есть делали так:
SQL
1
CREATE INDEX tovar_index_desc ON tovar(....) DESC;
Затем так:
Delphi
1
Table1.AddIndex('tovar_index_desc', 'tovar', []);
И не работало?
0
138 / 136 / 100
Регистрация: 10.03.2015
Сообщений: 553
07.01.2018, 16:01  [ТС]
Цитата Сообщение от Massaraksh7 Посмотреть сообщение
И не работало?
Так точно не пробовал. Пробовал так как показано в #1.
0
Айлурофил
 Аватар для Massaraksh7
516 / 449 / 112
Регистрация: 27.05.2017
Сообщений: 2,707
Записей в блоге: 5
07.01.2018, 16:12
А, ну то есть собственно индекса и не создавал...
0
138 / 136 / 100
Регистрация: 10.03.2015
Сообщений: 553
07.01.2018, 16:19  [ТС]
Цитата Сообщение от Massaraksh7 Посмотреть сообщение
А, ну то есть собственно индекса и не создавал...
Метод AddIndex класса TTable, позволяе создавать индексы для уже существующей таблицы.
0
 Аватар для krapotkin
6849 / 4676 / 1464
Регистрация: 14.04.2014
Сообщений: 20,672
Записей в блоге: 21
07.01.2018, 16:21
)))))
0
Айлурофил
 Аватар для Massaraksh7
516 / 449 / 112
Регистрация: 27.05.2017
Сообщений: 2,707
Записей в блоге: 5
07.01.2018, 16:44
...
TTable.AddIndex Method
.........................
dBASE tables...
Paradox tables support...
......................
For other table types, see the vendor-supplied documentation for the particular database system for details on what index options are applicable.
0
138 / 136 / 100
Регистрация: 10.03.2015
Сообщений: 553
07.01.2018, 16:45  [ТС]
Цитата Сообщение от Massaraksh7 Посмотреть сообщение
TTable.AddIndex Method
.........................
dBASE tables...
Paradox tables support...
......................
For other table types, see the vendor-supplied documentation for the particular database system for details on what index options are applicable.
Это что такое?
0
 Аватар для krapotkin
6849 / 4676 / 1464
Регистрация: 14.04.2014
Сообщений: 20,672
Записей в блоге: 21
07.01.2018, 18:22
это достаточно перевести с нерусского, чтобы начать заново читать то, что вам пишут уже третью страницу
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.01.2018, 18:22
Помогаю со студенческими работами здесь

Сортировка TTable
Как организовать сортировку в Ttable при помощи DBComboBox?

Сортировка в TTable
Можно ли в таблице Ttable организовать сортировку щелчком по имени столбца, если можно - то как? Заранее спасибо. Добавлено через 16...

Сортировка TDBGrid
Здравствуйте подскажите !PLEASE! как сделать так чтобы при нажатии на TButton содержимое TDBGrid сортировалось по алфавиту.:help:

Сортировка TDBGrid
Приветствую вас форумчане! Имеется программа по работе с текстом. Используется объект TDBGrid. В нем 2 столбца, данные берутся из XML...

Сортировка в TDBGrid
Кто знает как в этой сетке сделать сортировку в любом столбце по возрастанию или убыванию?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
35
Ответ Создать тему
Новые блоги и статьи
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru