![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Запросы
dumka © (2009-06-16 08:47:00)Добрый день!
Нужно удалить все заказаные билеты за 10мин до окончания продажи
Имеется код, что не так
prodada3.Query3.SQl.Add('Delete ');
prodada3.Query3.SQl.Add('FROM Bil B');
prodada3.Query3.SQl.Add('WHERE B.N_seansa in');
prodada3.Query3.SQl.Add('(select seans1.N_seansa ');
prodada3.Query3.SQl.Add('FROM Seans1 S' );
prodada3.Query3.SQl.Add('WHERE B.Sostoyanie ='''+'Заказано'+'''and B.data='''+DateTostr(date)+'''and ((S.Vrrema_nach_seansa-Time)>=0 and S.Vrrema_nach_seansa-Time<600000))');
prodada3.Query3.ExecSQL;
Ольга (2009-06-16 09:56:00) [1]
> Вопрос в том как выделить 10 минут
> ((S.Vrrema_nach_seansa-Time)>=0 and S.Vrrema_nach_seansa-
> Time<600000))
S.Vrrema_nach_seansa>=DateAdd(minute,-10,GetDate())
Ольга (2009-06-16 09:34:00) [2]Скопируйте в буфер Query3.SQl.Text перед выполнением и попробуйте выполнить в Query Analyzer. Думаю, сразу все станент понятно.
Так нельзя работать с датами! Используйте параметры.
Ega23 (2009-06-16 09:23:00) [3]
> Вопрос в том как выделить 10 минут
Это очень сильно зависит от СУБД
dumka (2009-06-16 09:19:00) [4]Вопрос в том как выделить 10 минут
((S.Vrrema_nach_seansa-Time)>=0 and S.Vrrema_nach_seansa-Time<600000))
Ega23 (2009-06-16 09:15:00) [5]В продробности не вдавался (тем более, что не понял, в чём, собственно, вопрос). Но.
> WHERE B.Sostoyanie ='''+'Заказано'
Это - просто ужасно. Автор, почитайте про нормализацию баз данных. За такие вещи вас в серьёзных конторах будут бить по голове, причём сильно.
Sergey13 (2009-06-16 09:07:00) [6]На моих БД этот запрос не проходит. Так что вряд ли смогу помочь. Да и билетами я не занимаюсь.