如何在foreach中填写gridview

时间:2018-03-18 13:05:23

标签: c# asp.net

如何在foreach中填充GridView,因为此代码不是最后一行。

foreach (int i in userdetails)
{
    SqlConnection con = new SqlConnection("*****");
    SqlCommand cmd = new SqlCommand("********=" + i, con);
    SqlDataAdapter da = new SqlDataAdapter(cmd);
    DataSet ds = new DataSet();
    da.Fill(ds);
    gvSelected.Visible = true;
    gvSelected.DataSource = ds;
    gvSelected.DataBind();
}

1 个答案:

答案 0 :(得分:0)

你会想要做更像这样的事情。只获取循环中的数据。 注意我还使用了一个SqlParameter,它对于防止SQL注入和避免语法错误很重要。

   SqlConnection con = new SqlConnection("*****");
   SqlCommand cmd = new SqlCommand("********=@id", con);
   SqlParameter parId = new SqlParameter("@id", SqlDbType.Int);
   cmd.Parameters.Add(parId);
   SqlDataAdapter da = new SqlDataAdapter(cmd);
   DataSet ds = new DataSet();  

  foreach (int i in userdetails)
  {
      parId.Value = i;
      da.Fill(ds);       
  }

    gvSelected.Visible = true;
    gvSelected.DataSource = ds;
    gvSelected.DataBind();

当然,如果可能,您应该考虑尝试立即发送所有ID。你需要类似于Table Valued参数的东西。