读书人

为啥这个循环都不返回结果怎样才可以

发布时间: 2012-10-23 12:12:22 作者: rapoo

为什么这个循环都不返回结果,怎样才可以有返回?
protected DataTable hui = new DataTable();
protected void Page_Load(object sender, EventArgs e)
{
//na = dat();
for (int i = 0; i < na.Rows.Count; i++)
{
int sID = Convert.ToInt32(na.Rows[i]["ID"].ToString());
hui = hut(sID);
}
}
protected static DataTable hut(int sID)
{
SqlDataAdapter dar = sql.SdaOpen("select * from hui where faID = " + sID);
DataSet s = new DataSet();
dar.Fill(s, "a");
return s.Tables["a"];
}

[解决办法]
for (int i = 0; i < na.Rows.Count; i++)
{
int sID = Convert.ToInt32(na.Rows[i]["ID"].ToString());
hui = hut(sID);
}

这个循环,hui最后只得到一条数据,而且是最后一条。


[解决办法]

探讨

引用:
for (int i = 0; i < na.Rows.Count; i++)
{
int sID = Convert.ToInt32(na.Rows[i]["ID"].ToString());
hui = hut(sID);
}

这个循环,hui最后只得到一条数据,而且是最后一条。

按照你这个循环的思想,你应该把hui声明成dataset类型,dataset中有添加datatable的方法。你看看吧

怎样改才可以循环全部的

[解决办法]
DataTable hui 每次循环都被覆盖掉。
最后返回的是最后一个sID 得到的sID

应该得把每次得到的DataTable 累加起来。


protected DataTable hui = new DataTable();
protected void Page_Load(object sender, EventArgs e)
{
//na = dat();
for (int i = 0; i < na.Rows.Count; i++)
{
int sID = Convert.ToInt32(na.Rows[i]["ID"].ToString());
DataTable newTable= hut(sID);
hui.Merge(Merge);
}
}

读书人网 >asp.net

热点推荐