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

时间:2019-02-21 17:24:57

标签: c# ssis

我想知道是否可以使用脚本任务(C#)将查询结果输入为数组?我发现了一个使用脚本任务但未将查询结果的每个值赋给变量的代码。

//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);
 }

谢谢。

1 个答案:

答案 0 :(得分:0)

基于以下评论:

  

基本上,我将进行查询以返回多个列和行,并希望将每个数据分配给一个变量,例如Foreach循环容器。这段代码是一个例子

我将假设您要在表中存储查询结果,并逐行循环结果,并在变量中分配列值。然后,您应该使用Execute SQL Task执行查询并将ResultSet存储在类型System.Object的变量中,然后使用{{1}遍历ResultSet (结果表) }和ForEach Loop Container

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