PDA

View Full Version : سوال در مورد ProgressBar



omid_reza
یک شنبه 22 شهریور 1388, 18:04 عصر
با سلام و خسته نباشید به تمام دوستان
یک سوال مهم و فوری
من حدود 5000 رکورد را می خواهم از یک جدولی در اوراکل Select گرفته و آنرا در جدول معادل آن در SQL بریزم
اما دو تا مشکل اصلی دارم :
1) در VB‎.Net هنگام اجرای دستور Insert فوق ، فرمم خیلی سنگین شده و با یک مقدار جابجایی قفل می کند
آیا با Thread می تونم این مشکل را حل کنم و اگر می توانم چگونه آنرا Stop کنم ؟
در غیر اینصورت از دوستان تقاضای کمک فوری دارم
2) چگونه می توانم درصد پیشرفت دقیق را در ProgressBar نمایش دهم؟
با تشکر:خجالت:

mehrdad hamid reza
یک شنبه 22 شهریور 1388, 19:16 عصر
شاید این دستور جوای بده
on Error Resume Next
اگر در برنامه مشکلی پیش بیاد بدون قفل کردن ادامه میده
این کد اول برنامه بنویس

Hesamzadeh
یک شنبه 22 شهریور 1388, 19:17 عصر
دوست گرامی
در مورد ProgressBar میتونی از یک حلقه استفاده کنی که به ازاء هر رکورد که منتقل میکنی مقدار متناسبی به ProgressBar اضافه کنی مثلا اگر 100 فیلد رو میخوای منتقل کنی باید هر بار یک صدم مقدار ماکزیمم به مقدارش اضافه کنی
اما در مورد Thread به اینجا مراجعه کن:
http://barnamenevis.org/forum/showthread.php?t=176545

omid_reza
یک شنبه 22 شهریور 1388, 20:01 عصر
آدرسی که فرمودید مربوط به Progress می باشد
اگر در مورد Threade توضیحاتی را بفرمائید ممنون می شوم
و ثانیا در مورد On Error نیز عرض کنم که برنامه من که خطا ندارد و در نتیجه روش فوق روشی نیست که مشکل منو بتواند حل کند
من می خواهم طوری Insert را انجام دهم که به هیچ وجه در فرم احساس نشود که قسمتی در حال اجرا می باشد
اگر در مورد Thread کمک بفرمائید ممنون می شوم

Saeed Hamed
دوشنبه 23 شهریور 1388, 03:51 صبح
سلام.
شما میتونی با استفاده BackgrandWorker مشکلت رو حل کنی با استفاده از اون برنامت هنگ نمی کنه. درواقع BackgrandWrorker یک Thread به برنامت اضافه میکنه. ولی شما مقدار ProgressBar رو نمی تونی به روش همیشگی تغییر بدی نه تنها مقدار Progressbar رو نمی تونی بلکه هیچ کنترل UI نمی تونه داخل یک Thread مقدارهایش تغییر کنه و برای این کار باید یک روال واسه تغییری که می خوای توی کنترل بدی بنویسی و اون رو با استفاده از یک Delegate فراخوانی کنی.
اگر مشکلی بود بگو تا اگه بلد بودم جوابتو بدم. موفق باشی

Hesamzadeh
دوشنبه 23 شهریور 1388, 06:19 صبح
اگر همون آدرس بالا رو حوصله میکردی میخوندی جوابتو میگرفتی :لبخند:
پستهای ۱۲ و ۱۵