добавить неопределенное количество строк набора данных в список

#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"])); 
}