MMA بتاريخ: 22 مارس 2007 تقديم بلاغ مشاركة بتاريخ: 22 مارس 2007 إخواني الكرام ، تحية طيبة وبعد،جاء لي عميل يحتاج الي برنامج لمتابعة المخازن وفواتير الشراء والبيع فقمت بإنشاء البرنامج المطلوب وقام المستخدم بتخزين حوالي 3 مليون فاتورة ، وعند عرض كافة الفواتير خلال السنة المالية بتقري كريستال ريبورت ظهرت المشكلة !!!حدث تجمد تام للبرنامج لمدة ربع ساعة فأكثر ، ويرجع ذلك الي كتابة جملة SQL ترتبط بمجموعة من ال Functions و العمليات الكثيرة وأيضاً الكمية الكبيرة من البيانات التي سيتم عرضها.سؤالي هنا ، كيف يتم معالجة المشكلة الموضحة أعلاة ، أو للدقة كيف يتم منح فرصة من داخل قاعدة البيانات كي أقوم بوضع لافتة إنتظار ( مثل شريط بيان الحالة ) وفي نفس الوقت يقوم بإجراء أعماله الأخري طبيعي دون حدوث تجمد.إخواني الكرام ، في الحقيقة أنا مبرمج فيجوال بيزيك مع أوراكل ، سأمنح لكم كود بسيط جداً يوضح ما أريدة بالضبط :For X = 1 To 3000000Me.Caption = XNextالكود السابق يوضح جملة تكرار من 1 الي 3 مليون ، في الحالة سيؤدي الي حدوث تجمد للبرنامج فترة لحين الإنتهاء من جملة التكرار ، وفي الحالة الموضحة أعلاة أيضاً ستؤدي الي عدم تمكين المستخدم من إجراء عمليات أخري علي البرنامج.ولحل المشكلة ببساطة نقوم بوضع أمر ( DoEvents ) لمنح الفرصة لإجراء عمليات أخري . هل من طريقة تمكنني من إجراء عمليات أخري أثناء عرض العديد من السجلات داخل جمل SQLإخواني الكرام ، أتمني أن يكون سؤالي واضح بالتفصيل ، وأتمني أيضاً الرد السريع حيث أنني منزعج جداً من المشكلة المطروحة أمامكموشكراَ اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Recommended Posts
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.