Приветствую Вас ГостьЧетверг, 28.03.2024, 18:42

WORLD of DELPHI


Сортировка БД по дате создания - Форум

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: NuR1k  
Форум » Delphi программирование » Базы данных » Сортировка БД по дате создания (Delphi 7)
Сортировка БД по дате создания
NuR1kДата: Вторник, 24.08.2010, 00:31 | Сообщение # 1
Рядовой
Группа: Модераторы
Сообщений: 13
Репутация: 0
Статус: Отсутствует
Доброго времени суток! Хочу замутить так, чтобы в БД данные сортировались по дате создания записи. Вот только не знаю как. Подскажите пожалуйста. Delphi 7.
 
progerДата: Среда, 25.08.2010, 10:57 | Сообщение # 2
Всевидящий
Группа: Админы
Сообщений: 17
Репутация: 3
Статус: Отсутствует
При загрузке БД в программу итак происходит сортировка по дате создания (по умолчанию).
СУБД какую используете?
Приведу пример реализации в ADO (MS Access).
В ADO сортировку можно реализовать следующим образом:
Для начала создадим в БД поле с именем Дата_Создания и типом Дата/Время.
Чтобы поле Дата/Время возвращало текущую дату необходимо в обработчик вписать следующее:

Code
DataModule1.ADOTable1.FieldValues['Текущая_дата'] := now;

Тем самым теперь у нас имеется поле, содержащее текущую дату и время.
Теперь реализуем сортировку:

Code
TForm1.Button1Click(Sender: TObject);
begin
//укажем имя поля, по которому сортируем
//в нашем случае: Дата_Создания
ADOTable1.IndexFieldNames := 'Дата_Создания';
end;

А если нужна сортировка "По убыванию" (т.е. последняя сделанная запись будет сверху), то надо прописать следующее:

Code
ADOTable.Sort := 'Текущая_дата DESC'


Все "Спасибо!" в репутацию!
 
NuR1kДата: Среда, 25.08.2010, 14:22 | Сообщение # 3
Рядовой
Группа: Модераторы
Сообщений: 13
Репутация: 0
Статус: Отсутствует
Не, он что-то ругается. Ошибка.

Сообщение отредактировал NuR1k - Среда, 25.08.2010, 14:27
 
progerДата: Среда, 25.08.2010, 14:22 | Сообщение # 4
Всевидящий
Группа: Админы
Сообщений: 17
Репутация: 3
Статус: Отсутствует
NuR1k, на что именно? Прошу по-конкретнее!

Все "Спасибо!" в репутацию!
 
NuR1kДата: Среда, 25.08.2010, 14:31 | Сообщение # 5
Рядовой
Группа: Модераторы
Сообщений: 13
Репутация: 0
Статус: Отсутствует
http://files.mail.ru/G6C6UB?t=1 - скриншот.

Добавлено (25.08.2010, 14:31)
---------------------------------------------
Наверное из-за того, что не в ту процедуру поместил

Code
DataModule1.ADOTable1.FieldValues['Текущая_дата'] := now;
ADOTable.Sort := 'Текущая_дата DESC'

Куда их?
 
progerДата: Среда, 25.08.2010, 14:32 | Сообщение # 6
Всевидящий
Группа: Админы
Сообщений: 17
Репутация: 3
Статус: Отсутствует
Quote (NuR1k)
Не, он что-то ругается. Ошибка.

Вот это прописали?
Quote (proger)
DataModule1.ADOTable1.FieldValues['Текущая_дата'] := now;

Создали, я надеюсь, новое поле с именем Дата_Создания?
Прочтите еще раз мой первый ответ и поймите, что вы сделали не так wink


Все "Спасибо!" в репутацию!
 
NuR1kДата: Среда, 25.08.2010, 14:36 | Сообщение # 7
Рядовой
Группа: Модераторы
Сообщений: 13
Репутация: 0
Статус: Отсутствует
Блин, Толян, все правильно: создал поле в МО Access, а вот куда вписывать
Code
DM.ADOTable1.FieldValues['Дата'] := now;
то и не знаю, туплю опять.
 
progerДата: Среда, 25.08.2010, 14:43 | Сообщение # 8
Всевидящий
Группа: Админы
Сообщений: 17
Репутация: 3
Статус: Отсутствует
Quote (NuR1k)
Куда их?

Code
DataModule1.ADOTable1.FieldValues['Текущая_дата'] := now;

Вставить в обработчик OnClick кнопки для сохранения данных, например. Если не знаете, как создать такую кнопку, могу подробно объяснить.

Code
procedure TForm1.Button1Click(Sender: TObject);
begin
  //если данные изменены, то сохраним
  if DataModule1.ADOTable1.Modified then
     begin
      //добавим в поле Текущая_Дата текущую дату/время
      DataModule1.ADOTable1.FieldValues['Текущая_дата'] := now;
      //сохраним
      DataModule1.ADOTable1.Post;
     end;
end;

Code
ADOTable.Sort := 'Текущая_дата DESC'

Это уже в обработчик сортировки!


Все "Спасибо!" в репутацию!
 
NuR1kДата: Среда, 25.08.2010, 14:48 | Сообщение # 9
Рядовой
Группа: Модераторы
Сообщений: 13
Репутация: 0
Статус: Отсутствует
Блин, так бы и сказал, что в обработчик сохранения данных, а то я и туплю.
Спасибо, канает! :-)
 
progerДата: Среда, 25.08.2010, 14:50 | Сообщение # 10
Всевидящий
Группа: Админы
Сообщений: 17
Репутация: 3
Статус: Отсутствует
Пожалуйста!
Много нового для себя узнал о ADO, пока разбирался с твоим вопросом. Так что и тебе спасибо smile


Все "Спасибо!" в репутацию!
 
Форум » Delphi программирование » Базы данных » Сортировка БД по дате создания (Delphi 7)
  • Страница 1 из 1
  • 1
Поиск:

Главное меню
Разное
Форма входа
Опрос
Ваш уровень программирования на Delphi
Всего ответов: 41
Статистика
Найти
Облако тегов
Друзья
Чат
200