C# SSIS-搜索字符串-脚本任务

C# SSIS-搜索字符串-脚本任务,c#,ssis,C#,Ssis,我想知道是否可以使用脚本taskC将查询结果作为数组输入?我发现了一个代码,它使用脚本任务,但不在变量中分配查询结果的每个值 //Read list of Tables with Schema from Database string query = "Select * From "+TableName; SqlCommand cmd = new SqlCommand(query, myADONETConnection); //myADONETConnection.Open(); DataTa

我想知道是否可以使用脚本taskC将查询结果作为数组输入?我发现了一个代码,它使用脚本任务,但不在变量中分配查询结果的每个值

//Read list of Tables with Schema from Database
string query = "Select * From "+TableName;
SqlCommand cmd = new SqlCommand(query, myADONETConnection);
//myADONETConnection.Open();

DataTable d_table = new DataTable();
d_table.Load(cmd.ExecuteReader());
myADONETConnection.Close();



string FileFullPath = DestinationFolder +"\\"+ FileNamePart +"_" + datetime + FileExtension;

StreamWriter sw = null;
sw = new StreamWriter(FileFullPath, false);

// Write the Header Row to File
int ColumnCount = d_table.Columns.Count;

for (int ic = 0; ic < ColumnCount; ic++)
{
   sw.Write(d_table.Columns[ic]);
   if (ic < ColumnCount - 1)
   {
      sw.Write(FileDelimiter);
   }
}
sw.Write(sw.NewLine);

// Write All Rows to the File
foreach (DataRow dr in d_table.Rows)
{
   for (int ir = 0; ir < ColumnCount; ir++)
   {
       if (!Convert.IsDBNull(dr[ir]))
       {
           sw.Write(dr[ir].ToString());
       }
       if (ir < ColumnCount - 1)
       {
           sw.Write(FileDelimiter);
       }
    }
       sw.Write(sw.NewLine);
 }

谢谢

基于以下评论:


基本上,我将创建一个返回多个列和行的查询,并将每个数据分配到一个变量中,就像Foreach循环容器一样。这段代码就是一个例子

我将假设您希望将查询结果存储在表中,并逐行循环结果,并在变量中指定columns值。然后,您应该使用执行SQL任务来执行查询,并将ResultSet存储在System.Object类型的变量中,然后使用带有ADO枚举器的ForEach循环容器在ResultSet结果表上循环

要获得分步指南,您可以参考以下链接之一:


你说的数组是什么意思?你有TableName,但那是什么?它来自哪里?这不是变量名/值。这将是动态的/变化的。你想要的最终结果是什么?要将整个表结构输出到文件中?基本上,我将进行一个返回多个列和行的查询,并将每个数据分配到一个变量中,如Foreach循环容器。这段代码就是一个例子。在你的例子中,你对文件的写入不是变量。您为什么希望/需要将数据保存到变量中/这是为了什么目的/需要?另外,如果您想做这样的事情,那么数组将无法工作,您将需要一个对象/数据表。虽然select语句会自动执行此操作。因为我想在变量中进行自动搜索。好的,我确实想提供帮助,但我不知道这意味着什么?自动搜索?在表中的所有行/列中搜索哪些值?如果您正在执行搜索或其他操作,为什么要使用SSIS?