我有关于在Foreach LoopContainer中发送邮件的问题,它已经嵌套了另一个Foreach LoopContainer
一切正常( namespace Likes
{
class Program
{
static void Main(string[] args)
{
var rollcall = new List<string>();
while (true)
{
string names = Console.ReadLine();
rollcall.Add(names);
var number = rollcall.Count;
if (number == 1)
{
Console.WriteLine(" {0} likes your post.", rollcall[0]);
continue;
}
else if (number == 2)
{
Console.WriteLine("{0} and {1} likes your post\n Press Enter to Exit", rollcall[0], rollcall[1]);
continue;
}
else if (number == 3)
{
Console.WriteLine("{0}, {1}, and {2} other likes your post.\n Press Enter to Exit", rollcall[0], rollcall[1], number - 2);
continue;
}
else if (number >= 4)
{
Console.WriteLine("{0}, {1}, and {2} others like your post.\n Press Enter to Exit", rollcall[0], rollcall[1], number - 2);
continue;
}
}
}
}
}
)从数据库中选择不同的区域 - 它工作正常。 1. Select areas SQLTask
,Startdate
用作select中的时间段 - 工作正常。
Collection中的enddate
具有ADO对象源变量区域,枚举模式在第一个表中的行。在变量映射中是我的变量区域
它被传递给执行SQL任务。
执行SQL任务 - 作为我定义的SQL查询:
1.st Foreach Loop Container
它转到嵌套的Foreach循环容器,其中是脚本任务 - 它工作正常,它检索数据 `select * from my table, where Date between start date and end date and area = ?`
。
我的问题是
我出于测试目的有两个区域 - 第一个循环只发送第一个区域的行,这是好的,但是对于第二个区域,SSIS一起给我第一个和第二个区域的记录。哪里可以出错?我检索两个区域的两个邮件,这意味着从第一个sql任务看第一个foreach循环容器的参数看起来不错,但是第一个邮件有第一个区域的数据,第二个有第一个和第二个区域的记录。
提前致谢
答案 0 :(得分:1)
我认为脚本任务用于构建邮件正文或其他什么?它存储在变量中吗?你的邮件任务的表达是什么?无论如何,如果你使用一个变量,你将不得不在每次迭代中转储它 - 否则只要你的循环运行它就会被反复扩展。