日期:2014-05-17  浏览次数:20376 次

高分、在线等,你讲我用可行马上给分
需要更换数据库数据 数据库里有24个大类每个大类下面又有不等个数的小类, 大体这样:大类:A,下面的小类a1,a2,a3....现在要自动更换 这样的数据,A类中有个ID,比如值为 ,1, a1的ID值为 ,56,78,、a2的ID值为 ,57,67等 现在要写个程序自动以A类的ID为父类、子类的ID为子类 替换掉原来的ID值 替换后的样子是这样的:a1 的ID值变为:,1,56, 1是父类的ID,56是子类的ID a2的ID值变成 :,1,57, 这个需要循环 这循环要怎么写才可以把所有的大类、和小类都给替换掉 求大侠们指点下 急用啊!

------解决方案--------------------
先把数据库中的结构或数据列出来看看
------解决方案--------------------
为什么你不会写程序?因为你说的话连人都理解不了。编译器更不知道你要做什么了。
------解决方案--------------------
对付层次结构,最有利的武器是递归。
你可以这样

//假设你的实体类名叫ClassA

void ChangeId(string parentId)
{
IList<ClassA> aList = ..//根据parentId查到它下面所有的一级子类
foreach(ClassA a in aList){
a.ID = parentId + "," + a.ID ;
ChangeId(a.ID);
}
}

然后在主程序里调用 ChangeId(最上层的Id)
------解决方案--------------------
好象你的大概意思是把每个小类的前面加上所属大类的ID值再加上“,”,如果是这样的话,循环小类,然后加个判断再更新数据库就行。