2014-02-06 4 views
2

Я использую VS 2008SSIS сценарий задача int32 переменного сравнение

поэтому у меня есть две переменные count и count_b объявлено как переменные Int32 в пакете объеме я добавил две переменные в списке ReadOnlyVariables сценария Task Editor

мой код внутри задачи сценария выглядит следующим образом:

 if (Dts.Variables["count_a"].Value == Dts.Variables["count_b"].Value) 
     { 
      //do something 
     } 
     else 
     { 
      //do something 
     } 

значение по умолчанию для обоих переменных равна нулю. когда я просматриваю код, я вижу, что обе переменные имеют нулевое значение, но при оценке этого выражения: Dts.Variables ["count_a"]. Значение == Dts.Variables ["count_b"]. Значение

Я получаю ложный

любой видел ничего подобного раньше

оценить любые предложения

ответ

1

Вы не сравниваете 0 до 0. Вы сравниваете адрес памяти count_a к count_b. Чтобы получить значение, вам нужно получить доступ к свойству .Value объекта. Обратите внимание, что вам нужно будет указать значение в примитивный тип. Для сравнения, которое вы выполняете, .Value.ToString() будет достаточно

+0

ahhh, который имеет смысл только что понял, что объект является объектом для .value ... спасибо – user2129585

Смежные вопросы