Я хотел бы знать, возможно ли ввести результат запроса в виде массива с помощью задачи сценария (С#)? Я нашел код, который использует задачу скрипта, но не присваивает каждому значению результата запроса переменную.
//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. Этот код является примером
Я предполагаю, что вы хотите сохранить результат запроса внутри таблицы и циклически перебирать результаты по строкам, а также присваивать значение столбцам внутри переменной. Затем следует использовать Execute SQL Task
для выполнения запроса и сохранить ResultSet внутри переменной типа System.Object
затем выполнить цикл по ResultSet (таблице результатов), используя ForEach Loop Container
с ADO enumerator
.
Чтобы получить пошаговое руководство, вы можете обратиться по одной из следующих ссылок: