我试图在脚本组件中为其他计算调用2个用户变量。
public string getFinYear(DateTime dt)
{
string finYr;
if (dt.Month >= 7 && dt.Month <= 12)
finYr = dt.Year.ToString().Substring(2, 2) + "_" + dt.AddYears(1).Year.ToString().Substring(2, 2);
//finYr = dt.Year.ToString()+ "-" + dt.AddYears(1).Year.ToString();
else
finYr = dt.AddYears(-1).Year.ToString().Substring(2, 2) + "_" + dt.Year.ToString().Substring(2, 2);
//finYr = dt.AddYears(-1).Year.ToString() + "-" + dt.Year.ToString();
return finYr;
}
public void Main()
{
// TODO: Add your code here
Dts.Variables["User::currentDT"].Value = DateTime.Now; // current date time
if (Dts.Variables.Contains("CalYear") == true && Dts.Variables.Contains("CalMonth") == true)
{
int yr = (int)Dts.Variables["CalYear"].Value;
int mth = (int)Dts.Variables["CalMonth"].Value;
DateTime firstDayOfMonth = new DateTime(yr, mth, 1);
Dts.Variables["User::monthName"].Value = firstDayOfMonth.ToString("MMMM", CultureInfo.InvariantCulture);
Dts.Variables["User::finYear"].Value = getFinYear(firstDayOfMonth);
} .....
在上面的代码中,我手动设置CalYear = 2015和CalMonth = 2;但是,当我运行脚本时,它不返回monthName和finYear。
有什么想法吗?
答案 0 :(得分:0)
尝试调试脚本任务或使用消息框显示值,然后再将其分配给日期或月份。 使用System.Windows.Forms;
MessageBox.Show(Dts.Variables [ “富”]。Value.ToString())