PDA

View Full Version : واکشی اطلاعات از دیتابیس



razeghaik1
پنج شنبه 09 بهمن 1393, 09:34 صبح
با سلام خدمت دوستان
من یه Gridview دارم که در هر صفحه 10 رکورد رو نشون می ده.
کل رکوردها چیزی حدود 1000 رکورد هست.
هنگامی که رکوردها رو از دیتابیس واکشی می کنم می زنم

select * from tbluni
در صورتی که من میخوام اگه بشه هر بار فقط رکوردهایی رو که میخوام از دیتابیس دریات کنم.
مثلا رمانی که دکمه رو می زنم فقط 10 رکورد اول رو نشون بده تو Gridview و زمانی که صفحه دوم Gridview رو انتخاب کردم 10 رکورد بعدی.
آیا روشی هست که بشه این کار رو انجام داد.
با تشکر

neda555
پنج شنبه 09 بهمن 1393, 12:14 عصر
سلام لطفا بفرمایید واسه چی میخواهید این کار رو انجام بدهید؟
بیشتر توضیح دهید واسه پیجر میخواهید یا فقط میخواهید رکورد دلخواه انتخاب کنید؟!

razeghaik1
جمعه 10 بهمن 1393, 06:40 صبح
سلام لطفا بفرمایید واسه چی میخواهید این کار رو انجام بدهید؟
بیشتر توضیح دهید واسه پیجر میخواهید یا فقط میخواهید رکورد دلخواه انتخاب کنید؟!

ممنونم از پاسختون
بحث رکورد دلخواه نیست.
موضوع اینه که زمانی که واکشی صورت میگیره کل داده ها از بانک فراخونی می شن با دستور بالا که نوشتم!
در صورتی که مثلاتوی page 1 از گرید ویوو فقط 10 رکورد نیازه.مثلا 10 رکورد که بالاترینه توی جدول دیتابیس.
حالا وقتی page 2 از گرید ویوو رو می زنیم 10 تای دوم رو نشون می ده.
در صورتی که کل اطلعات واکشی می شه از دیتابیس اما فقط 1 تای دوم رو نشون میده.
من میخوام کاری کنم که اینقد داده ها الکی واکشی نشن.
منظورمو متوجه شدید یا بد گفتم باز؟!
مرسی

amir_T_2008
جمعه 10 بهمن 1393, 11:00 صبح
يعني شما مي خوايد به جاي ١٠٠٠ ركورد مثلا ٢٠ ركورد آخر نمايش بده ؟؟؟

ahmad156
جمعه 10 بهمن 1393, 11:35 صبح
اگر از Sql Server 2005 یا 2008 استفاده میکنین از ROW_NUMBER (http://msdn.microsoft.com/en-us/library/ms186734.aspx) و اگر Sql Server 2012 به بالا هست از OFFSET FETCH (http://technet.microsoft.com/en-us/library/gg699618%28v=sql.110%29.aspx) و اگر هم از MySQL استفاده میکنین از LIMIT (http://www.mysqltutorial.org/mysql-limit.aspx)استفاده کنین

aslan
جمعه 10 بهمن 1393, 11:43 صبح
ممنونم از پاسختون
بحث رکورد دلخواه نیست.
موضوع اینه که زمانی که واکشی صورت میگیره کل داده ها از بانک فراخونی می شن با دستور بالا که نوشتم!
در صورتی که مثلاتوی page 1 از گرید ویوو فقط 10 رکورد نیازه.مثلا 10 رکورد که بالاترینه توی جدول دیتابیس.
حالا وقتی page 2 از گرید ویوو رو می زنیم 10 تای دوم رو نشون می ده.
در صورتی که کل اطلعات واکشی می شه از دیتابیس اما فقط 1 تای دوم رو نشون میده.
من میخوام کاری کنم که اینقد داده ها الکی واکشی نشن.
منظورمو متوجه شدید یا بد گفتم باز؟!
مرسی
سلام
چیزی که شما دنبالشین همون صفحه بندی اطلاعات ( در اینجا GridView Paging ) هستش که اگر جستجو کنین کلی اطلاعات در این مورد بدست میارین . مثلا لینک زیر را ببینید :

http://www.dotnetbull.com/2013/05/custom-paging-in-aspnet-using-stored.html