واضح آرشیو وب فارسی:سایت ریسک: sari-136921-02-2010, 12:10 AMسلام دوستان ، من 2 تا دیتا بیس دارم که گاهی نیاز میشه حجم زیادی از اطلاعات رو بینشون رد و بدل کنم و اینکار حدودا 30 ثانیه طول میکشه . من با زمانش مشکل ندارم ، فقط میخوام وقتی که این عمل داره انجام میشه اگر کاربر رو فرم کلیک کرد با اونرو حرکت داد برنامه هنگ نکنه و یه انیمیشن لودینگ تو این زمان بهش نمایش بدم . اولین باری هستش که همچین مساله ای برام پیش اومده ، اگه میشه منو راهنمایی کنید . از ترد باید استفاده کنم ؟ بکگراند ورکر ؟ ... ؟ :31: پیشاپیش ممنون. ---------- Post added at 12:10 AM ---------- Previous post was at 12:09 AM ---------- راستی ، VB.Net MTPROG21-02-2010, 10:40 AMدر تایپک زیر بحثی مشابه به این مورد شده است 384692 در لینک زیر یک نمونه کد وجود داره که حجم زیادی از اطلاعات رو بدون هنگ کردن پردازش میکنه http://assets.devx.com/sourcecode/11446.zip sari-136924-02-2010, 12:27 AMاینطور که از تایپیک های پیشنهادی شما متوجه شدم ، منظورتون اینه که از DataReader استفاده کنم . تا اینجاش اوکی و مشکلی نیست ولی همونطور که تو اون تا گفته شد ، برای گرفتن این اطلاعات از DR باید از یه حلقه استفاده کرد که همین مدت زیادی میبره و برنامه هنگ میکنه . اجازه بدید بگم کلا وایه چه کاری میخوام . من توی برنامه ویندوزی اطلاعات حدود 20 جدول SqlServer رو باید به یه بانک کامپکت توی پاکت پیسی انتقال بدم ، و تنها راهش اینه که اطالاعت رو به صورت کلی ( DataTable ) یا سطر به سط (DR ) از بانک برنامه ویندوزی بخونم و به صورت سطر سطر توی بانک کامپکت درج کنم. تا اینجا اوکی هستش و مشکلی نیست . اما مشکل من اینجاست که تعداد رکورد های من برای هر جدول میانگیم 200 رکورد هستش و به طور میانگین هر جدول 7 تا ستون داره و حجم داده یه خورده زیاده . من با سرعت مشکلی ندارم . فقط و فقط میخوام این کاربری که پشت سیستم نشسته تو این 2 دقیقه یه عکس GIF لودینگ ببینه و اگر هم روی فرم کلیک کرد یا اون رو حرکت داد برنامه به فنا نره :31: sari-136905-03-2010, 01:17 AMیکی مارو راهنمایی کنه :41: _H2_05-03-2010, 10:27 AMسلام اون تاپیکی که دوستمان جناب MTPROG معرفی کردند، هدفش نمایش ProgressBar است که میزان پیشرفت کار نمایش داده شود. در مورد کار شما هم استفاده از آن مورد خوب است ولی راه حل دقیق مشکل شما، استفاده از چند ریسمانی است. شما باید متد کپی خود را در یک ریسمان مجزا اجرا کنید تا ریسمان برنامه اصلی بلوکه نشود و به قول خودتان بتوانید تصویر gif متحرکی هم نمایش دهید. در خصوص مباحث چند ریسمانی پیشنهاد میکنم تاپیک زیر را مطالعه کنید: 387577 اگر قصد نمایش میزان پیشرفت و آپدیت فرم را نداشته باشید به Invoke و BeginInvoke و InvokeRequired هم نیاز ندارید. فقط کافی است دستورات خود را در ریسمان جدید انجام دهید. ===== تاپیک مرتبط: 390418 موفق باشید. سایت ما را در گوگل محبوب کنید با کلیک روی دکمه ای که در سمت چپ این منو با عنوان +1 قرار داده شده شما به این سایت مهر تأیید میزنید و به دوستانتان در صفحه جستجوی گوگل دیدن این سایت را پیشنهاد میکنید که این امر خود باعث افزایش رتبه سایت در گوگل میشود
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 507]