关于datatable 动态插入行数据的困惑

zdsa 2003-07-24 08:23:39
..............

Dataable man=new DataTable();

public void GetChildPlaceMan(int[] place)
{
int i,j;
for(i=0;i<place.Length;i++)
{
DataTable men=GetManByPlace(place[i]);
if(men.Rows.Count!=0)
{
for(j=0;j<men.Rows.Count;j++)
{
DataRow dr=man.NewRow();
dr[0]=Convert.ToInt32(men.Rows[j][0].ToString());
dr[1]=men.Rows[j][0].ToString();
man.Rows.Add(dr);
}
}

int[] topplace;
topplace=GetTopPlace(place[i]);
if(topplace!=null)
GetChildPlaceMan(topplace);
}
}
public DataTable GetMenByMan(int manid)
{
man.Columns.Add("menid");
man.Columns.Add("manname");
DataSet ds=new DataSet();
string sqlGetplace="select HR_DutyID from Hr_Duty where UserID='"+manid+"'";
ds=db.GetDataSet(sqlGetplace,"placeparent");
int[] p={Convert.ToInt32(ds.Tables[0].Rows[0][0].ToString())};
GetChildPlaceMan(p);
return man;
}


为什么我在调用上面的方法 public DataTable GetMenByMan(int manid)时,老是报错:名为“menid”的列已属于此 DataTable。
...全文
132 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
qwbyxw 2003-07-24
  • 打赏
  • 举报
回复
如果需要保留原来的数据。
还有一个办法就是,
定义的时候
DataTable man=new DataTable();
改为
Dataable man = null;

函数改写为:
public DataTable GetMenByMan(int manid)
{
if (man == null)
{
man = new DataTable();
man.Columns.Add("menid");
man.Columns.Add("manname");
}
DataSet ds=new DataSet();
string sqlGetplace="select HR_DutyID from Hr_Duty where UserID='"+manid+"'";
ds=db.GetDataSet(sqlGetplace,"placeparent");
int[] p={Convert.ToInt32(ds.Tables[0].Rows[0][0].ToString())};
GetChildPlaceMan(p);
return man;
}

New_bug 2003-07-24
  • 打赏
  • 举报
回复
public DataTable GetMenByMan(int manid)
{
DataTable man = new DataTable();
.....
return man;
}

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧