Типы данных "DT_WSTR" и "DT_I4" несовместимы для бинарного оператора "==" - PullRequest
1 голос
/ 17 мая 2019

Я использую следующее выражение:

[TIMEPERIOD_ID]==1?"JANUARY":
[TIMEPERIOD_ID]==2?"FEBRUARY":
[TIMEPERIOD_ID]==3?"MARCH": 
[TIMEPERIOD_ID]==4?"APRIL":
[TIMEPERIOD_ID]==5?"MAY":
[TIMEPERIOD_ID]==6?"JUNE":
[TIMEPERIOD_ID]==7?"JULY":
[TIMEPERIOD_ID]==8?"AUGUST":
[TIMEPERIOD_ID]==9?"SEPTEMBER":
[TIMEPERIOD_ID]==10?"OCTOBER":
[TIMEPERIOD_ID]==11?"NOVEMBER":
[TIMEPERIOD_ID]==12?"DECEMBER"

И выдает следующее исключение:

ОШИБКА - Типы данных "DT_WSTR" и "DT_I4" несовместимы для бинарный оператор "==". Типы операндов не могут быть явным образом приведены на совместимые типы для операции. Чтобы выполнить эту операцию, один или оба операнда должны быть явно приведены с помощью оператора приведения.

Есть предложения?

1 Ответ

2 голосов
/ 17 мая 2019

Из упомянутой ошибки это выглядит как [TIMEPERIOD_ID] тип данных DT_WSTR, и его нельзя сравнивать с целочисленными значениями. Попробуйте следующее выражение:

[TIMEPERIOD_ID] == "1" ? "JANUARY" :
[TIMEPERIOD_ID] == "2" ? "FEBRUARY" :
[TIMEPERIOD_ID] == "3" ? "MARCH" : 
[TIMEPERIOD_ID] == "4" ? "APRIL" :
[TIMEPERIOD_ID] == "5" ? "MAY" :
[TIMEPERIOD_ID] == "6" ? "JUNE" :
[TIMEPERIOD_ID] == "7" ? "JULY" : 
[TIMEPERIOD_ID] == "8" ? "AUGUST" :
[TIMEPERIOD_ID] == "9" ? "SEPTEMBER" :
[TIMEPERIOD_ID] == "10" ? "OCTOBER" :
[TIMEPERIOD_ID] == "11" ? "NOVEMBER" :
[TIMEPERIOD_ID] == "12" ? "DECEMBER" : ""
...