将非特定数量的数据集行添加到列表中

时间:2019-03-06 12:37:58

标签: c# list foreach dataset

我正在尝试通过使用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);

我正在从masterinstallationmap表中选择installation_id,如果它包含多于0行,则应运行foreach将这些行放入列表中,否则应仅在列表中输入1个项目就运行一次foreach。

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 (DataRow row in ds.Tables[0].Rows)
{
    //How to insert all rows from the dataset?
}

1 个答案:

答案 0 :(得分:0)

为什么不能像这样添加值

foreach (DataRow row in ds.Tables[0].Rows)
{
    instIdList.Add(Convert.ToInt32(row["installation_id"])); 
}