我有一个无限分类数据库,包括一个父id,和一个子id,比如,金属(父),铝(子),钢材(子)
现在要进行查询,当选择金属时,检索他下面的所有子内容。
我建了个查询子id的集合函数,如下:
#region 获取子ID的集合
public DataTable ReturnSonID(int ID,DataTable myTable)
{
string sql="select ID,ParentID from protype";
SqlConnection Conn=new SqlConnection(ConnString);
SqlDataAdapter Da=new SqlDataAdapter(sql,Conn);
DataSet Ds=new DataSet();
Da.Fill(Ds,"protype");
foreach(DataRow myRow in Ds.Tables["protype"].Rows)
{
if((int)myRow[Ds.Tables["protype"].Columns["ParentID"]]==0) //检测每行ParentID是否为零
{
}
else
{
if((int)myRow[Ds.Tables["protype"].Columns["ParentID"]]==ID)
{
DataRow Dr=myTable.NewRow();
Dr["ID"]=(int)myRow[Ds.Tables["protype"].Columns["ID"]];
myTable.Rows.Add(Dr);
//myArray.Add((int)myRow[Ds.Tables["protype"].Columns["ID"]]);
}
else
{
ReturnSonID((int)myRow[Ds.Tables["protype"].Columns["ID"]],myTable);
}
}
}
return myTable;
}
然后我检索这个table,获得sql语句,建立datasetpublic Init(int id)
{
string sql="";
datatable dt=GetChildByID(id)//自定义函数
foreach(datarow dr in dt)
{
....         //操作
Init(dr["ID"])
}
}为什么老是出错误呢》?