Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.08.22;
Скачать: CL | DM;

Вниз

Мастера, ПОМОГИТЕ, не могу. Базы данных.   Найти похожие ветки 

 
TiredDmitry ©   (2002-07-24 18:27) [0]

Я админ в игротеке, пишу сейчас программу для учёта компьютеров, но меня остановило незнание баз данных. 8(
Необходимо, чтобы программа по событию ontimer опрашивала базу данных, и если нынешнее время >= чем определённое значение в базе - выводилось сообщение, а картеж удалялся. Пробовал Lookup, но он ищет только точные совпадения. Помогите, кто знает, обещаю выложить исходники после написания программы.


 
mike kouzmine   (2002-07-24 18:36) [1]

Можно с помощью SQL/ Можно построить индекс по полю где время и делать SetRange([StrToDate("1.1.1900")],[Now]);


 
TiredDmitry ©   (2002-07-24 21:07) [2]

или я плохо знаю SQL или одно из двух, но SQL запрос просто фильтровал базу и выводил обратно в DBGrid, но ведь требуется, чтобы информация не выводилась в таблице, а просто убивался картеж...


 
Alexandr ©   (2002-07-25 09:58) [3]

1) кому нужны такие исходники...
2) давай я тебе сам такую программу напишу за небольшое вознаграждение
3) Недо книжки читать про базы данных, про работу с ними в Дельфи...


 
mike kouzmine   (2002-07-25 10:04) [4]

with Table1 do
begin
SetRange([Ot],[Now]);
while not Eof do Delete;
end;


 
mike kouzmine   (2002-07-25 10:08) [5]

delete from "Table" t
where t.Time < :Time

Q.Close
Q.ParamByName("Time").asDateTime := Now;
Q.Prepare;
Q.ExecSql

Синтаксис не совсем помню, посмотри в хелпе


 
TiredDmitry ©   (2002-07-25 15:18) [6]

ой, большое блин спасибо!


 
TiredDmitry ©   (2002-07-27 01:10) [7]

Честно сказать, Саша, был задан вопрос, а ты начинаешь говорить типа: "ТЫ - нихрена не умеешь и никогда не научишься, Я - крутой перец,- Я всё умею... и вообще пойди-ка книжек почитай малыш" Форум рассчитан на то, чтобы люди друг другу помогали и такие сообщения должны рассматриваться как оффтопики. Именно благодаря таким, как mike kouzmine этот форум живёт и имеет посещаемость. Не буду говорить о том, что было если бы на все вопросы следовал ответ: "ХА-ХА-ХА, ты этого не знаешь??!! Лопух, иди домой...." А если ты и вправду такой козырный тип, то дал бы совет лучше.


 
NNH ©   (2002-07-27 11:52) [8]

TiredDmitry, ты конечно прав. Но и в его ответе есть доля истины. Согласись. Но помогать друг другу нужно всегда. А если не хочешь помогать, то не хрен заглядывать в форум!


 
Anatoly Podgoretsky ©   (2002-07-27 12:23) [9]

Не ругайтесь, Александр в данном случае сказал корретно и ни кого не посылал домой. В данном случае особенно надо прислушаться к пункту (3), без базовыз знаний с базами работать тяжело и получаются уродики (1). Возможное решение в (2).
Другое дело что воспринято это как наезд.


 
TiredDmitry ©   (2002-07-31 04:00) [10]

NNH, согласен, что доля истины есть везде.
Anatoly Podgoretsky, есть такое выражение: "Критикуя,- предлагай.", в случае с Александром я услышал только первую часть... пошёл в чат, спросил народ, мне помогли решить проблему в обход баз данных вообще. Согласитесь, что на все вопросы можно ответить примерно так: "Читай help, а лучше книгу купи". Но ведь это я и сам знаю и почему-то пришёл именно в форум. Приведу пример: мне нужна всего-лишь одна API функция, я задаю вопрос, а меня в ответ посылают в книжный ларёк... Я не воспринимал его сообщение как наезд, мне просто стало обидно за то, что этот сайт может превратиться в неизвестно что, поэтому и поднял тему на примере ответа Alexandr"a.


Изменим жизнь к ...шему


 
Serge_D   (2002-07-31 11:29) [11]

2TiredDmitry можно реализовать все в одном SQL:

delete from <таблица>
where <ключевое поле> in (
select <ключевое поле> from <та же таблица>
where <условие удаления>
)

... правда не помню сейчас синтаксис для BDE, поэтому пишу в общем виде.



 
Serge_D   (2002-07-31 11:44) [12]

оппаньки... я гоню...
mike kouzmine написал все верно - а я тормознул и не полностью разобрал смысл вопроса.
мой пример больше подходит для 2-х связанных таблиц.



Страницы: 1 вся ветка

Текущий архив: 2002.08.22;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.016 c
4-71420
Sword
2002-06-18 19:31
2002.08.22
Спасите! Не знаю как копировать


1-71133
Cr@sh
2002-08-13 12:58
2002.08.22
Повтрение изображения в TImage (расположение плиткой).


8-71264
SPeller
2002-04-14 06:59
2002.08.22
Опять JPEG


6-71280
newbie1
2002-06-11 14:35
2002.08.22
немогу получить сообщение от сервера


1-71149
Pavel_S
2002-08-13 07:07
2002.08.22
Виснет программа