產品類編號  產品類名稱 
001
00101
0010101
002
00201這樣有利于Web from和 Win Form程序读写

解决方案 »

  1.   

    有利于Web from和 Win Form程序读写,这个应该要让系统进行多层开发,比如说写一个数据处理的层,再写一个商业逻辑的层的,最后是UI,win form和web form就是属于最外面的这一层了,这样重复开发的程度最小了。
    当然还可以作成web services通过接口的调用,这样也是有利于这两种方式的程序读写。
      

  2.   

    我觉得应该采用ParentID和PathString共存的方式。ParentID是保证最稳健的结构——每一个节点都有且只有一个父节点,而PathString就是像楼上说的001002003那样——为的是提高访问速度。
    当然,到了SQL Yukon里面应该会有更好的解决方案,例如直接用.net语言来递归,或者保存成XML然后用XPath查询。
      

  3.   

    http://demo.antsoft.net/project1/这是我做的无限树,多指教
      

  4.   

    http://demo.antsoft.net/project1/这是我做的无限树,多指教
      

  5.   

    做产品的无限级分类,根本的是做一个tree,但如果考虑可以在webform中方便读写,最好的解决方案,应该对产品的类表表设定如下字段:类Id
    父类Id
    类名称
    类的parentPath(所有父类的路径)
    IsLast(是否为本级的最后一个)
    类的orderId(排序序号)
    prouductCount(本类的产品数)这样只要维护好这个表,就可以很方便的执行任意搜索、定位、添加、排序等操作,而无需进行递规,非常适合在webform中使用
      

  6.   

    完全同意楼上的观点!
    我以前做的时候,只用了
      类Id
      父类Id
      类名称
    在列树的时候没什么问题,但到了查找结果的定位时就需要递归反查回去,用Winform的效率都很低,后来改成
      类Id
      类名称
      类的parentPath(所有父类的路径)
    这就必须在增加节点时做重名的检测,不过我感觉就算是用
      类Id
      父类Id
      类名称
      类的parentPath(所有父类的路径)
    也有必要加重名检测。  类的orderId(排序序号)
    是个好东西,应该可以用在存在多种类型节点的排序上多谢 kzyo(空中一鸥) ,小弟也受教了!