الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ado.net easy question may get me crazy

مغلق
بدأه dev_a_salah في 7 أغسطس 2005 · 3 رد · 551 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

انا اعمل تطبيق باستخدام السى شارب و الأدو دوت نيت المشكله هيا انا امكن المستخدم انه يستعرض بيانات العملاء لكن المشكله امامى لو كتبت كود مثل التالى

adapter.selectCommand.commandText="select * from customers";

connection.open();

adapter.fill(dataTable);

connection.close();

و بعدين لو ربطت الجدول دا ب صناديق نص او داتاجريد عشان امكن المستخدم من عرض االبيانات لجميع العملاء الكود فى هذه الحاله سيعمل جيدا و ان يعطى اى خطأ و هذا رأيت فى اكواد كثيرة من على مواقع مختلفه

لكن المشكله لو كانت قاعدة البيانات هذه كبيرة جدا جدا و بالتالى فإن اختيار بيانات جدول كامل ربما ]اخذ مساحة كبيرة جدا فى الذاكرة و تكون مشكله لو كنا نعمل على سيرفر لأأنة سيتطلب منه نقل كمية كبيرة جدا من البيانات إلى الجهاز العميل

فكيف احل هذا الأمر . هل اطلب من قاعدة البيانات مثلا بيانات اول 100 عميل و اعغرضهم و إذا عمل المستخدم سكرول للداتا جريد او استمر فى عرض البيانات بعد اول 100 اطلب تانى 100 من قاعدة البيانات

و لكن لو كان يستعمل داتا جريد و ظل يعمل سكرول كتير فهل اضطر لطلب البيانات كل سكرول من قاعدة البيانات او ماذا افعل

اتعشم ان اكون استطعت ان اشرح المشكله و ان اجد إجابة

و شكرا جزيلا

أحمد صلاح

#2

السلام عليكم و رحمة الله و بركاته

اولا استخدم اسلوب Disconnected DB

ثانيا الافضل انك تعمل داتا فيو في البرنامج و تاخد من View معمولة في قاعدة البيانات بحيث تعرض البيانات مصنفة علي حسب احتياجاتك و بالتالي سوف تكون البيانات مجزئة و لن تتطر لتحميل الجدول كاملا

ثالثا استعمل امر Prepare فهو يسرع من تنفيذ الاستعلامات

و انا اسف اني لا استطيع التوضيح حاليا لاني مشغول

سلام

حكمتي الدائمة.....................................................

ان ما عند الله لا يطلب الا بطاعته

.....................................................................

?who is Ingm

Name: Hasan Adel Hasan

Education: BCs in IS from Faculty of computers & information systems

Mansoura University- 2003

E-mail: hsn_3004@yahoo.com

#3

في الكود السابق لا تحتاج الى فتح واغلاق الاتصال لان ال DataAdapter يقوم بذلك تلقائياً

يمكن عند عمل عملية Fill تحدد عدد السجلات المطلوبة، مثلا يمكنك جلب اول 100 سجل ومن ثم يمكنك جلب المائة التي بعدها وهكذا

وعندما يكون لديك قاعدة بيانات كبيرة فالاصل ان تقوم بعمل استفسار لجلب البيانات المطلوبة، وليس كل البيانات

فلو مثلا عندك مليون سجل، هل يمكن للمستخدم رؤيتها كلها والتعامل معها في نفس الوقت؟؟؟

عادة البطئ لا يكون بسبب ال Ado.Net لكن بسبب طبيعة كتابة الكود، انصحك بالقراءة المزيد عن Ado.Net لان البرمجة بها تختلف عن ما سبقها

لا تحزن:

إن كنت فقيرا فغيرك محبوس في دين، وإن كنت لا تملك وسيلة نقل فسواك مبتور القدمين، وان كنت تشكوا من آلام فغيرك يرقدون على الاسرة البيضاء و من سنوات، وان فقدت ولدا فغيرك فقد عددا من الأولاد و في حادث واحد.

لا تحزن:

فأنت تشرب الماء الزلال، و تستنشق الهواء الطلق، و تمشي على قدميك معافى، و تنام ليلك آمنا.

#4

شكرا إخوانى لمساعدتكم و جزاكم الله الخير لما افدتمونى به

أحمد صلاح

هذا الموضوع مغلق.

مواضيع مشابهة