PDA

View Full Version : سوال: چگونگی مرتب کردن شماره id در جدول



mamadcity
یک شنبه 17 شهریور 1392, 01:55 صبح
با سلام خدمت دوستان بنده به یک مشکلی بر خوردم من تو دیتابیسم یه فیلد دارم که آدرس یه عکس توشه
بگو خب .. ! دی بعد داخل برنامه ام 3 تا PictureBox دارم حالا می خوام 3 تا عکس آخری توی جدول رو به ترتیب
داخل PictureBox ها نشون بده که وقتی بازم آدرسه عکس وارد کردم .. عکس های داخل PictureBox هم تغییر کنه و جدیدترین عکس وارد شده رو تو PictureBox تعیین شده بزار ..
من این کا رو تا یه جاهایی انجام دادم یعنی عکس ها رو نشون می دادم به طوریکه تعداد رکورد های جدول رو می گرفتم بعد تو شرط کوئری اول منهای 2 می کردم به ترتیب جلو رفتم تا عکس ها رو کامل نشونم داده ولی یه مشکلی هست که اگه بخوام یکی از رکورد ها رو حذف کنم شماره ردیف رکورد ها ناقص میشه :
1,2,3,5 اینجا چهار رو حذف کردم کلا کوئری بهم می خوره اینم بگم که با Entity Framework کار می کنم
دوستان ممنون میشم راهنمایی کنند ... ! :گیج:

مهرداد صفا
یک شنبه 17 شهریور 1392, 09:11 صبح
با سلام.
اگر فیلد identity در جدول داشته باشید می توانید ابتدا جدول را sort کنید و سپس با استفاده از متود Skip از آیتمهای اول صرفنظر کرده و فقط سه آیتم آخر را انتخاب کنید. به این صورت:

var ThreeLastItems = table.OrderBy(row => row.ID).Skip(table.Count() - 3);

mamadcity
یک شنبه 17 شهریور 1392, 11:01 صبح
با سلام.
اگر فیلد identity در جدول داشته باشید می توانید ابتدا جدول را sort کنید و سپس با استفاده از متود Skip از آیتمهای اول صرفنظر کرده و فقط سه آیتم آخر را انتخاب کنید. به این صورت:

var ThreeLastItems = table.OrderBy(row => row.ID).Skip(table.Count() - 3);

بله جدول Identity داره ... این کد شما هم تست کردم ولی خروجی ThreeLastItems عدد نیست ..!

مهرداد صفا
یک شنبه 17 شهریور 1392, 19:21 عصر
بله جدول Identity داره ... این کد شما هم تست کردم ولی خروجی ThreeLastItems عدد نیست ..!

سه سطر آخر انتخاب می شود و می توانید به مقدار ستون مربوط به آدرس تصاویر دسترسی داشته باشید:


foreach(var row in ThreeLastItem)
MessageBox.Show(row["ImageAddress"].ToString());


و یا به این صورت عمل کنید:


String[] ThreeLastItems = table.OrderBy(row => row.ID).Skip(table.Count() - 3).Select(row=>row["ImageField"].ToString()).ToArray();

mamadcity
یک شنبه 17 شهریور 1392, 21:20 عصر
داخل این ["ImageAddress"] چی باید قرار بدم آخه خطا می گیره ؟ .. ممنون واسه راهنمایی

مهرداد صفا
یک شنبه 17 شهریور 1392, 21:30 عصر
داخل این ["ImageAddress"] چی باید قرار بدم آخه خطا می گیره ؟ .. ممنون واسه راهنمایی

نام و یا شماره ستون مورد نظر.

mamadcity
یک شنبه 17 شهریور 1392, 21:45 عصر
این کده ولی خطا میگیره :

String[] ThreeLastItems = db.tbl_film.OrderBy(row => row.flm_id).Skip
(db.tbl_film.Count() - 3).Select(row => row[flm_pic].ToString()).ToArray();
MessageBox.Show(ThreeLastItems.ToString());
خطا :
The name 'flm_pic' does not exist in the current context

مهرداد صفا
دوشنبه 18 شهریور 1392, 12:25 عصر
string[] ThreeLastItems = db.tbl_films.OrderByDescending(row => row.flm_id).Take(3).Select(row => row.flm_pic).ToArray();
MessageBox.Show(ThreeLastItems[2]);

mamadcity
دوشنبه 18 شهریور 1392, 13:32 عصر
واقعا ممنون بابت راهنمایی .. !!
یکه سوال دیگه که دارم اینه من این سه تا عکس آخر رو می خوام داخل یه کنترلی نشون بدم که به صورتی لیستی باشه مثله یه اسلاید شو ...
به نظرتون میشه این کار رو با لیست ویو انجام داد ؟

mamadcity
دوشنبه 18 شهریور 1392, 20:47 عصر
واقعا ممنون بابت راهنمایی .. !!
یکه سوال دیگه که دارم اینه من این سه تا عکس آخر رو می خوام داخل یه کنترلی نشون بدم که به صورتی لیستی باشه مثله یه اسلاید شو ...
به نظرتون میشه این کار رو با لیست ویو انجام داد ؟
کسی تا الان این کار رو کرده ؟