Как вставить тип данных денег с SQL-сервера в поле валюты в crm с помощью С# (поздняя привязка)

Мои образцы данных такие. EstOneTimeCharge — это имя моего столбца с типом данных money в БД, а new_estrecurringcharge — поле валюты в crm.

EstOneTimeCharge
100.20
100.50
100.70

Я использую компонент сценария SSIS, чтобы вставить эту запись в crm.

Мой первый код:

if (!Row.EstRecurringCharge_IsNull)
    {
        TicketEnt["new_estrecurringcharge"] = new Money (Row.EstRecurringCharge);
    }

Затем я получил эту ошибку: введите здесь описание изображения

Мой второй код:

if (!Row.EstRecurringCharge_IsNull)
    {
        TicketEnt["new_estrecurringcharge"] = Row.EstRecurringCharge;
    }

Затем я получил это: введите здесь описание изображения

Мой третий код:

 if (!Row.EstRecurringCharge_IsNull)
    {
        TicketEnt["new_estrecurringcharge"] = Convert.ToDecimal(Row.EstRecurringCharge);
    }

Выдайте ту же ошибку, что и мой второй код.

Пожалуйста помоги. Заранее спасибо.


person xChaax    schedule 24.10.2017    source источник
comment
Можете ли вы использовать этот ответ: social.microsoft.com/Forums/en-US/   -  person SqlKindaGuy    schedule 24.10.2017


Ответы (1)


Вы почти там. Используйте как Convert.ToDecimal, так и новые деньги.

if (!Row.EstRecurringCharge_IsNull)
    {
        TicketEnt["new_estrecurringcharge"] = new Money(Convert.ToDecimal(Row.EstRecurringCharge));
    }
person Arun Vinoth    schedule 24.10.2017
comment
Спасибо Арун. Все еще дал мне ошибку. Моя глупая ошибка, когда я проверял в crm, что тип данных - это текстовое поле, а не валюта. Поэтому я перешел на валюту, и ваш код работает нормально. - person xChaax; 25.10.2017