![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 22.05.2007
Сообщений: 511
|
![]()
Как удалить записи базы если запись была создана более 30 дней.
Код:
|
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 16.05.2012
Сообщений: 3,211
|
![]()
Рассчитать в какую-нибудь переменную дату "30 дней назад" и передать ее как параметр в запрос.
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
|
![]() |
![]() |
![]() |
#3 |
Участник клуба
Регистрация: 19.12.2007
Сообщений: 1,100
|
![]()
не уверен что подойдет к какой-то конкретной СУБД, но для Firebird примерно:
Код:
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ... ![]() |
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 22.05.2007
Сообщений: 511
|
![]()
Сделал вот так, но выдает ошибку.
Код:
Последний раз редактировалось Aleksandr; 28.03.2013 в 15:05. |
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
та ошибка (её очень просто устранить) которую Вы получаете,
ничто, по сравнению с ошибкой в реализации подхода!! Вы получаете ошибку потому как пытаетесь "ОТКРЫТЬ" (Open) набор данных. Это допустимо только в том случае, если запрос возвращает набор данных (команда SELECT ... ) в случаях выполнения команды надо вызывать метод .ExecSQL; Код:
НО! Это всё технические детали. Ваш запрос всё равно работать НЕ БУДЕТ! давайте начнём с того, что Вы нам скажете, какая у Вас СУБД ? И потом, Вы точно уверены, что записи нужно из таблицы УДАЛЯТЬ? Подумайте, что будет, если кто-то переведёт время на год вперёд и запустит Вашу программу? Ведь намного удобнее и проще НЕ ВЫБИРАТЬ ненужные записи (добавить условие в select, например) Откатить удаление пользователю уже не удастся, записи будут удалены безвозратно! |
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 22.05.2007
Сообщений: 511
|
![]()
База у меня сделана на MySQL. Данные мне все таки нужно удалять так как у меня каждую секунду записываются данные из com порта. И поэтому база очень сильно растет. Я в Optionform.RzEdit3 указываю количество дней по истичении которых я удаляю записи.
|
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
Согласен в какой-то мере с Сергеем, но удалять иногда приходится. И если очень сильно хочется удалить, то сделал бы так
Код:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 28.03.2013 в 15:42. |
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 22.05.2007
Сообщений: 511
|
![]()
Всем огромное спасибо.
|
![]() |
![]() |
![]() |
#9 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]() Цитата:
К сожалению, не владею MySQL в нужном объёме. ну, согласно доке это будет примерно так: Код:
|
|
![]() |
![]() |
![]() |
#10 |
Форумчанин
Регистрация: 22.05.2007
Сообщений: 511
|
![]()
А как сделать так чтобы делать эту проверку каждый день?
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Связь между значением атрибута в записи одной таблицы и наименованием сторонней таблицы | АлексИванов | Общие вопросы по программированию, компьютерный форум | 1 | 21.08.2012 15:37 |
Вывести список студентов старше 17 лет. Записи. Паскаль. | iSkulll | Помощь студентам | 2 | 10.02.2011 20:29 |
Вычитание дат(дата-дата=кол.дней) | zallza | Общие вопросы Delphi | 1 | 31.05.2010 22:50 |
Как из одной таблицы удалить записи, содержащиеся в другой | Kingson | Microsoft Office Access | 4 | 13.04.2010 22:39 |
Отредактируйте,пожалуйста,задачу на записи, вычисляющую дату через m дней. | JiLiYa | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 26.12.2008 09:29 |