#c# #list #foreach #dataset
#c# #Список #foreach #набор данных
Вопрос:
Я пытаюсь вставить неопределенное количество строк из набора данных в список с помощью foreach. Но я не уверен, как добавить неопределенное количество элементов в список из набора данных.
public void DeviceReset(string r)
{
conn.Open();
SqlCommand cmd = conn.CreateCommand();
cmd.CommandType = CommandType.Text;
cmd.CommandText =
"SELECT installation_id FROM masterinstallationmaps WHERE masterinstallation_id = '" r "' ";
cmd.ExecuteNonQuery();
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
Я выбираю installation_id из моей таблицы masterinstallationmap, и если она содержит более 0 строк, она должна запустить foreach, чтобы поместить строки в список, в противном случае она должна запустить foreach, вводящий только 1 элемент в список.
List<int> instIdList = new List<int>();
if (ds.Tables[0].Rows.Count > 0)
{
foreach (DataRow row in ds.Tables[0].Rows)
{
//How to insert all rows from the dataset?
}
}
else
{
instIdList.Add(1);
}
Оператор else работает нормально, но ничего не происходит, если в наборе данных более 0 строк.
Я не уверен, что поместить в foreach:
foreach (DataRow row in ds.Tables[0].Rows)
{
//How to insert all rows from the dataset?
}
Ответ №1:
Почему вы не можете просто добавить значение, подобное
foreach (DataRow row in ds.Tables[0].Rows)
{
instIdList.Add(Convert.ToInt32(row["installation_id"]));
}