如何在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();
}
答案 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参数的东西。