Вниз
Скачать: CL | DM;

сравнение даты с текущей   Найти похожие ветки 

← →
diwww   (2005-08-16 15:19) [0]

В базе есть поле "дата окончания". В клиентском приложении при просмотре записи если "дата окончания" < текущей даты, то надо выводить особую отметку. Вопрос в том как реализовать это сравнение? Есть несколько идей: сделать доп. вычисляемое поле в бд, сделать вьюшку, сравнивать даты в клиентском приложении в момент промотра. Каким способом лучше делать это? Даже просто интересно, как полагается поступать в таких случаях?
субд -- mssql server 2000


← →
Nikolay M. ©   (2005-08-16 15:38) [1]


> Вопрос в том как реализовать это сравнение?

Например, с помощью знака "меньше" ("<"), примененному с умом  в SQL-запросе.
Но в любом случае делать это на сервере, т.к. время на клиентском компьютере может быть выставлено любым.


← →
Fay ©   (2005-08-16 15:56) [2]

2 diwww   (16.08.05 15:19)
Пример для базы PUBS

set nocount on

declare @dt datetime

select @dt = DateAdd(day, DateDiff(day, "", GetDate()), "")
-- Или просто select @dt = GetDate(), если нужно со временем

select
 stor_id,  ord_num,
 ord_date,
 qty,
 payterms,
 title_id,
 YourField = case when ord_date < @dt then 1 else 0 end
from sales


← →
Плохиш ©   (2005-08-16 16:12) [3]


> Nikolay M. ©   (16.08.05 15:38) [1]
> Но в любом случае делать это на сервере, т.к. время на клиентском
> компьютере может быть выставлено любым.

Это следует понимать, что время на сервере не может быть выставлено любым?

> diwww   (16.08.05 15:19)
>  Даже просто интересно, как полагается поступать в таких
> случаях?

У нас демократия, официальных предписаний утверждённых ООН на этот случай нет.


← →
Nikolay M. ©   (2005-08-16 16:47) [4]


> Плохиш ©   (16.08.05 16:12) [3]
> Это следует понимать, что время на сервере не может быть
> выставлено любым?

Если это действительно Сервер и у него есть Админ - да, не может :)


← →
Deniz ©   (2005-08-17 06:10) [5]

>Nikolay M. ©   (16.08.05 16:47) [4]
И даже если может, все клиенты работают с одной датой(серверной)


← →
Nikolay M. ©   (2005-08-17 10:12) [6]


> Deniz ©   (17.08.05 06:10) [5]
> И даже если может, все клиенты работают с одной датой(серверной)

Унификация - это, конечно, хорошо, но попробуй это объяснить менеджеру, который продал товар со склада в минус, потому что на сервере некстати произошел переход на зимнее время.



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.025 c
5-1101371685
Ascan
2004-11-25 11:34
2005.10.02
Ошибка при Halt в событии OnCreate


14-1126111597
Zacho
2005-09-07 20:46
2005.10.02
Посоветуйте, что почитать из космоопер ?


2-1124965240
Laymer
2005-08-25 14:20
2005.10.02
Компоненты


14-1126214784
partizan
2005-09-09 01:26
2005.10.02
Задачка по теории вероятности


2-1124465608
_zx
2005-08-19 19:33
2005.10.02
chart




   Наверх