asp.net 虚拟表
for (int i = 0; i < ds.Tables[0].Rows.Count; i++){
int ClassID = Convert.ToInt32(ds.Tables[0].Rows[i][0].ToString().Substring(1,3));
String strSql2 = string.Format("SELECT CLASSNAME FROM MYWEBPART3.DBO.YM_CLASS WHERE CLASSID = " + ClassID + "");
ds2 = this.sQLDbHelper.Query(strSql2);
}
以上是我的部分代码
在一个循环里有2个变量一个是ClassID 另外一个是ds2里面的一个string值
我想再定义一个虚拟table然后循环向table里面插入数据,这个table应该怎么样去定义?
追问:public DataTable GetHotTag()
{
DataSet ds = null;DataSet ds2 = null;
// 定义表
DataTable dt = new DataTable();
// 添加列
dt.Columns.Add(new DataColumn("ClassID", typeof(int)));
dt.Columns.Add(new DataColumn("CLASSNAME", typeof(string)));
// 创建行
DataRow dr = dt.NewRow();
String strSql3 = string.Format("select top 20 classid from cnword group by classid order by count(classid) desc");
ds = this.sQLDbHelper.Query(strSql3);
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
int ClassID = Convert.ToInt32(ds.Tables[0].Rows[i][0].ToString().Substring(1,3));String strSql2 = string.Format("SELECT CLASSNAME FROM MYWEBPART3.DBO.YM_CLASS WHERE CLASSID = " + ClassID + "");
ds2 = this.sQLDbHelper.Query(strSql2);
//objArr是一个object对象数组,用于给行赋值
object[] objArr = new object[] { ClassID, ds2.Tables[0].Rows[0][0].ToString() };
// 行赋值
dr.ItemArray = objArr;
}
// 添加行到表中
dt.Rows.Add(dr);
return dt;
}以上是我的DAL层完整代码,现在有一个问题就是
// 行赋值
dr.ItemArray = objArr;
永远在给dr的第一行进行赋值
我这个循环是20次,应该出现“总共20条”对应的数据
但是这个代码执行玩之后我的DT最终显示的数据是“第20条”数据,
虽然我想可能改动一下例如在循环里面写ROWS【i】【0】,之类的来循环控制行数,
不过我不知道语法怎么写 呵呵,麻烦告诉下语法,或者我的想法是错误的话请指出,谢谢