مرتب كردن اطلاعات مانند Order By در متغير ها

توي ASP.Net چند تا متغير دارم كه همه آرايه اند
هر كدوم با انديس مساوي، به هم مربوطند (درست مثل ركوردهاي يك Table)
براي مثال اسم متغير ها آاينها هستند: ID , Name, Telephone, Address, ...
حالا مي خوام اينارو بر حسب IDشون مرتب كنم (دقيقا مثل كاري كه Order By انجام ميده)
چطوري؟!!!!!
يادآوري كنم كه اطلاعات درون متغيرها وجود دارند نه در Table و ذخيره اون توي Table هيچ نفعي نداره.
متشكرم.
 

omidak

Active Member
سلام:
ببين يه كلك توپ بزن خيال خودتو راحت كن :lol: :
يك DataTable بساز. تمام بعد Column هایه مورد نظر رو بهش اظافه کن.
همه داده ها رو توش اضافه کن به DefaultView برو بعد اون تو Sort رو که String هست برابر با ID قرار بده :wink:
 
براي اين كار Table تو حافظه ساخته مي شه يا رو ديسك؟
خيلي مهمه كه رو ديسك نباشه چون در غير اين صورت هارد سرور به زودي مي سوزه!
 

omidak

Active Member
سلام
نه ديگه شما يك DataTable رو باید Dim کنید
در آخر سر هم که این Table جایی Save نمیشه.
مثل این میمونه که بگید یک داده ای رو که String هست رو Hard ذخیره میشه یا .... 8O :wink:
 
مي توني يه مثال ساده با دو تا فيلد و دو تا ركورد و يه دستور سلكت بزني؟
ممنون مي شم.
 

omidak

Active Member
سلام:
بله حتماً :wink:
کد:
Dim DT As New DataTable
Dim DR As DataRow
DT.Columns.Add("Name", Type.GetType("System.String"))
DT.Columns.Add("UserName", Type.GetType("System.String"))

Do While ----
                DR = DT.NewRow()
                DR.BeginEdit()
                DR.Item("Name") = "---"
                DR.Item("UserName") = "---"
                DR.EndEdit()
                DT.Rows.Add(DR)
Loop

DT.DefaultView.Sort = "Name"

            For i = 0 To DT.DefaultView.Count - 1
                Response.Write(DT.DefaultView(i).Item("Name"))
                Response.Write(DT.DefaultView(i).Item("UserName"))
            Next

داخل اون DoWhile تمام Recordeها یه خودتون رو ذخیره کنید
و در For i هم نمایش بدید :wink:
 
راستي اگر بخوام در صورتي كه توي ركورد جديد مقدار فيلد Name تكراري بود مقدار فيلد Count يكي بيشتر بشه چه كار بايد بكنم؟
مرسي
 

omidak

Active Member
سلام:
برايه اين كار بايد از يه چيزي شبيه به Group By ای که در Database هست استفاده کنی.
اما تویه DataTable همچین چیزی نیست.

راستی این کار رو برایه چی داری انجام میدی؟
این کار خیلی غیر عادیه. :roll:
اطلاعات رو از کجا میگیری؟ :roll: :wink:
 

omidak

Active Member
سلام:
ايول. اما ببين نميخواد اينها رو مرطب كني چون اينها بر حسب امتيازاشون مرطب ميشن. :wink:
 
نمي خوام سر خود اين كارو انجام بدم
مي خوام نتيجه هايي رو كه از گوگل و ياهو و ... گرفتم ميانگين رتبه بگيرم براي هر نتيجه
يعني اگر موتورهاي جستجو فقط دو تا بودن و يك نتيجه تو ياهو اول بود و تو گوگل سومُ توي سايت نتيجه رو جاي رتبه دوم نشون بده
مشكل من اينه كه بجاي اينكه از C# و VB.Net و SQL به سمت ASP.Net بيام دارم راه رو برعكس طي مي كنم و هر چند وقت حسابي تو گل گير مي كنم!
 

omidak

Active Member
سلام:
خوب پس همه اش رو رفتي بجز Group by
حالا برایه چی میخوایی Groupby بکنی؟ :roll: و تکراری نداشته باشی؟ :roll:
 
منظورت از Group By همون Order By هست ديگه؟
خيلي ساده براي اينكه موتور جستجو نبايد نتيجه هاي تكراري نشون بده
اميدي هست يا بايد كل Namespace هاي .Net رو زير و رو كنم؟!
راستي يك آدرس مي توني بدي كه ليست Object هاي .Net رو نشون بده و دربارشون توضيح بده؟
 

omidak

Active Member
سلام:
نه همون Group By که در موردش تویه اون تاپیک Database توضیح میدم :wink:
البته فکر نکنم چیزی پیدا کنی
باید یه چیزی بسازی. :roll: :wink:
حالا اگر چیزی پیدا نکردی. بگو یه طرحی بزنیم :wink:
 
ديگه دارم سي شارپ كار مي كنم بلكه يه خورده سوادم بالا بره! اينطوري نمي شه
SQL Server رو هم كه هر كاري كردم نتونستم نصب كنم نه تو كامپيوتر خودم نه برادرم نمي دونم مشكلم كجاست
يكي نيست به من بگه با اين بي سوادي تو ديتابيس پروژه متا سرچ انجين چرا انجام ميدم!!!
تو اين چند روز مي گردم دنبال جوابش تو هم اگر چيزي جلوي راهت سبز شد ما رو هم خبر كن
 
نه
اون فايل رو كه گفتي (sql2kdesksp3.exe)‌ رو داونلود كردم
با همون روش كه گفتي (يا حتي بدون آرگمان خط فرمان) اجرا كردم اما
اين پنجره رو نشون ميده
مي دوني مشكل از كجاست؟
 

omidak

Active Member
سلام:
نه اول اينو به صورت عادي اجرا كن. چون اين يك Exe ای هست که فشرده شده.
و با Setup اش اون فایل فشرده باز میشه و تازه اون آدرس مشابه ای که دادم رو اجرا کن :wink:
 
اميد خان، ديگه داري خيلي دست كم مي گيري ها!
يه كلاس داس مقدماتي كه رفتيم قبلا
همين كار ها رو انجام دادم
 

جدیدترین ارسال ها

بالا