Страница 1 из 1

Параметры datatime в ХП

Добавлено: 21 Апрель 2006, 5:34
Денис
почему если передавать дату как стрингу то нужен формат yyyy-dd-mm, когда как по правилам сервера формат строки yyyy-mm-dd

Re: Параметры datatime в ХП

Добавлено: 21 Апрель 2006, 8:27
Andrew™
Денис писал(а):почему если передавать дату как стрингу то нужен формат yyyy-dd-mm, когда как по правилам сервера формат строки yyyy-mm-dd
ну это вопрос уже не ко мне, что передаёшь то и получаешь, строка есть строка, формат даты задаётся после установки соединения

Код: Выделить всё

set dateformat ymd 
дату как стринг передавать не надо, т к надо заботиться о формате передаваемой строки, на одном серваке. Для этого надо использовать штатную переменную типа DATE, главное позаботиться, что всед за ней идёт поле типа TIME это можеть быть группа из двух полей или просто два поля

Код: Выделить всё

loc_Date  DATE
loc_Time  TIME
tmp         MAVExecSP
   CODE

  loc_Date = TODAY()
  tmp.BindParameter(loc_Date)
  IF tmp.Run('mySP')
   MAVSHOWERROR
  RETURN
  END

Добавлено: 21 Апрель 2006, 9:54
Денис
Пробовал я через стринговую переменную и группу с атрибутом over. При запуске ХП выдается сообщение о невозможности конвертации, из-за этого вернулся к передаче строки

Пробовал примено так:

Код: Выделить всё

sqlSp    MAVExecSp
cDate   STRING(8)
gDate   GROUP, OVER(cDate)
gDate_DATE  DATE
gDate_TIME   TIME
            END
CODE

gDate.gDate_DATE = DATE(...)

sqlSp.BindParameter(cDate)
sqlSp.Run(ХП)

Добавлено: 21 Апрель 2006, 10:01
Andrew™
Денис писал(а):Пробовал я через стринговую переменную и группу с атрибутом over. При запуске ХП выдается сообщение о невозможности конвертации, из-за этого вернулся к передаче строки

Пробовал примено так:

Код: Выделить всё

sqlSp    MAVExecSp
cDate   STRING(8)
gDate   GROUP, OVER(cDate)
gDate_DATE  DATE
gDate_TIME   TIME
            END
CODE

gDate.gDate_DATE = DATE(...)

sqlSp.BindParameter(cDate)
sqlSp.Run(ХП)
а читать повнимательнее можешь?
В КАЧЕСТВЕ ВХОДНОГО ПАРАМЕТРА ДОЛЖНА БЫТЬ НЕ STRING(8) - её вааще не требуется, ЭТО ПРИДУМАЛИ ВЕЛОСИПЕДИСТЫ, А ПОЛЕ ТИПА DATE, за которым в декларации идёт поле типа TIME

Добавлено: 21 Апрель 2006, 10:05
Денис
Andrew Myalin писал(а): а читать повнимательнее можешь?
В КАЧЕСТВЕ ВХОДНОГО ПАРАМЕТРА ДОЛЖНА БЫТЬ НЕ STRING(8) - её вааще не требуется, ЭТО ПРИДУМАЛИ ВЕЛОСИПЕДИСТЫ, А ПОЛЕ ТИПА DATE, за которым в декларации идёт поле типа TIME
Непойму я чет как это в текст проги перевести :). Напиши примерчик вызова ХП с 2 параметрами типа datetime и 1 int пожалуста

Добавлено: 21 Апрель 2006, 10:08
Денис
кажись разобрался, ща пробовать буду

Добавлено: 21 Апрель 2006, 10:13
Денис
все, спасибо