PDA

View Full Version : ذخيره درخت در sql



mehdad.koulab
یک شنبه 26 تیر 1390, 10:04 صبح
سلام دوستان چجوري ميتونم يك درخت (عناصر treeview) در sql ذخيره كنم. اينجوري بپرسم از كجا بفهمم كه
گره انتخاب شده پدر يا فرزند يا ... است برنامه به صورت دايناميك هست سقف نداره يعني ممكن پدر ،فرزند نداشته باشه يا هم ممكن چند تا داشته باشه و فرزندها نيز خودشون .... از كجا اينارو تشخيص بدم. و متن گره چيه رو از كجا تشخيص بدم.
اگه سوالم خيلي مبتدي ببخشيد چون اولين بار هست كه با treeview كار ميكنم. تشكر

aghayex
یک شنبه 26 تیر 1390, 10:45 صبح
شما می تونید دو تا ستون بغیر از ستون های خودتون در نظر بگیرید
اولی که ای دی برای اول مشخصه
دومی ای دی پدر مشخصه
==================
به این صورت که برا پدر میشه ای دی خودش و ستون دومیش هم میشه ای دی خودش
برای فرزند ستون اول میشه ای دی خودش و ستون دومی میشه ای دی پدرش
برای نوه میشه ستون اول میشه ای دی خودش و ستون دومی میشه ای فرزند
=======================
حالا از کجا بفهمیم که پدر کیه == کسایی که هر دو ستون مربوط به ای دیشون با هم برابر اند و وقتی که پدر های رو گیر آوردی ( سرنخ ) دیگه راحت فرزنداش رو پیدا می کنی

mehdad.koulab
یک شنبه 26 تیر 1390, 11:03 صبح
سلام وتشكر
اين ID ها رو از كجا تشخيص بدم در treeview براي جدا سازي فرزندها شماره اي است مثلا گره پدر شمارش n باشه فرزند اون شمارش n-1 و ... من ميخوام اينجوري ذخيره كنم كه يك ستون براي همين شماره ها در نظربگيرم بعد از بالا يه پايين جدول رو پيمايش كنم و براساس ستون سماره ها درخت رو درست كنم. فقط موندم از كجا اين شماره ها رو گير بيارام
بهتره اينجوري بپرسم از كجا بفهمم كه گرهاي كه انتخاب كردم در چه سطحي قرار داره.

mehdad.koulab
یک شنبه 26 تیر 1390, 11:27 صبح
مشكل پست بالا رو حل كردم با استفاده از level پيدا ميكنيم حالا يك مشكل ديگه اينكه درخت رو چطوري پيمايش كنم از گزه اول تا آخر؟