تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] Reading from the stream has failed
#1
قربت انهي مشروع vbulletin4 to mybb  انهيت نسخ كل الاقسام والمنتديات والمواضيع والمشاركات والمرفقات وحين بدات في نسخ الاعضاء بدا وبعد وقت طويل توقف وظهرت الرسالة
Reading from the stream has failed
أستودعكم الله الذي لا تضيع ودائعه أرجو ان تجدوا بمشاركاتي ما يجعلكم تدعون لي بخير ان تحتم غيابي.
الرد }}}}
تم الشكر بواسطة:
#2
طبعا الرسالة هذي لما رجعت لنسخة 53 لـ php لكن لما كنت على نسخة 56 تظهر الرسالة اللي قبل؟!Sad
من وين ماجيتها الاقيها عميا
أستودعكم الله الذي لا تضيع ودائعه أرجو ان تجدوا بمشاركاتي ما يجعلكم تدعون لي بخير ان تحتم غيابي.
الرد }}}}
تم الشكر بواسطة:
#3
كود :
SELECT id, name, address, phone FROM customers ORDER BY userid LIMIT 10 OFFSET 990
ممكن احد يشرح عمل هذا الاستعلام؟
خصوصا الجملة الاخيرة offset 990
ايضا لماذا الاضافة الاخيرة offset تلغي order by
يعني من غير offset اول سجل يظهر هو رقم 1 اما مع offset لا يظهر المطلوب اولا
أستودعكم الله الذي لا تضيع ودائعه أرجو ان تجدوا بمشاركاتي ما يجعلكم تدعون لي بخير ان تحتم غيابي.
الرد }}}}
تم الشكر بواسطة:
#4
.....

الخطأ الآول احتمال بسبب إصدار (MySQL Connector Net) الذي لديك

OFFSET تستخدم مع LIMIT وهي تصفح البيانات مجموعة مجموعة من أسطر ناتج الاستعلام.
حيث يحدد عدد المجموعة من خلال LIMIT وتحديد بداية المجموعة من خلال OFFSET.
مثل LIMIT 10 OFFSET 100 تعني أحضر 10سجلات ابتداء من السجل 100 (مع ملاحظة أن العد يبدأ بصفر) من مجموعة أسطر ناتج الاستعلام.
ويمكن دمج OFFSET مع LIMIT كالتالي LIMIT 100,10 لاحظ أن الـ 100 قبل 10.
ملاحظة قيمة LIMIT يجب أن تكون أكبر من صفر.
OFFSET لا تتدخل في عمل ORDER BY

.....
الرد }}}}
تم الشكر بواسطة: سعود
#5
بارك الله فيك
وجدت طريقة باستخدام هذا الاستعلام وه كالتالي:
كود :
Dim b As Integer = 0
    Dim c As Integer = b

كود :
"select * from `user` order by `userid` ASC LIMIT " & c & ",5"

وعند حدث ProgressChanged
كتبت
b += 1
وعند حدث RunWorkerCompleted
كتبت
كود :
c += b
            If tuser_importer.IsBusy = False Then
                tuser_importer.RunWorkerAsync()
            End If
يعمل بشكل جيد وعند وصول الرقم 165 يثبت عليها لكنه لا ينهي وانما اشاهد اضطراب في مربع النص (مدري شلون اوضح لكن مثل شاشة الفيديو لما توقف بشكل مؤقت)
أستودعكم الله الذي لا تضيع ودائعه أرجو ان تجدوا بمشاركاتي ما يجعلكم تدعون لي بخير ان تحتم غيابي.
الرد }}}}
تم الشكر بواسطة:
#6
الملف المرفق لقطة فيديو لايضاح المشكلة في الاول عند استيراد 5 يعلق على 165 وعند استيراد 10 يعلق على 240


الملفات المرفقة
.zip   ppp.zip (الحجم : 468.71 ك ب / التحميلات : 14)
أستودعكم الله الذي لا تضيع ودائعه أرجو ان تجدوا بمشاركاتي ما يجعلكم تدعون لي بخير ان تحتم غيابي.
الرد }}}}
تم الشكر بواسطة:
#7
.....

أولا: الافضل أن تسمي المتغيرات بنفس مهمتها مثلا C إجعلها OFFSET

ثانياً: زيادة OFFSET والذي هو C سابقاً يكون بحجم المجموعة أي مثل OFFSET +=5 (كما في مثالك).

ثالثاً: يجب التأكد من وجود نتائج في كل حلقة.

رابعاً: تحديد Maximum للأداة ProgressBar يكون
بإجراء مبدئي بالإستعلام عن عدد الأسطر الإجمالي بدون بيانات (SELECT COUNT(id) FROM table1) لعدم إثقال الاتصال
ومن ثم تقسيم العدد الاجمالي على حجم المجموعة (وهي 5 كما في مثالك).

.....
الرد }}}}
تم الشكر بواسطة:
#8
بالنسبة للكونكتور فهو MySQL Connector Net 6.9.4 والـ mysql MySQL Server 5.5
أستودعكم الله الذي لا تضيع ودائعه أرجو ان تجدوا بمشاركاتي ما يجعلكم تدعون لي بخير ان تحتم غيابي.
الرد }}}}
تم الشكر بواسطة:
#9
انا استخدم limit وليس offset
ولا استخدم progressbar فقط مربع نص
أستودعكم الله الذي لا تضيع ودائعه أرجو ان تجدوا بمشاركاتي ما يجعلكم تدعون لي بخير ان تحتم غيابي.
الرد }}}}
تم الشكر بواسطة:
#10
.....

أعلم أنك لم تستخدم OFFSET بشكل منفصل واستخدمت الدمج مع LIMIT ولكن قيمتها موجودة في البارامتر الأول لـ LIMIT وهو c كما في مثالك.
"LIMIT " & c & ",5

لم أنتبه أنك تشير ب Progress الخاص بـ BackgroundWorker ويمكنك استعمل ناتج المجموع العام لمعرفة نهاية العملية بالكامل.

.....
الرد }}}}
تم الشكر بواسطة:


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم