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

ياأستاذ خضر الداتا ست

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

الاخ الفاضل خضر ترزى

عندما استخدم ال dataset هل ال database توضع كلها فى الكاش ام الجداول التى استخدمتها فقط هى التى توضع فى الكاش؟

#2

ال Dataset لما بتحمل في الذاكرة بتحمل فارغة و بتحتوي على شكل الجدول فقط (بيعتمد على نوع ال dataset) ، الان لما بتستخدم الامر Fill لتملئها بالبيانات فهي سوف تمتلئ ببيانات الجدول كاملة، لذلك يفضل ملئها من StoredProcedure بالبيانات المهمه فقط، و عمليا ال dataset يمكن ان تحتوي على اكثر من جدول مع علاقاتهم.

اذا Dataset واحدة صممت لتحتوي على كل قاعدة البيانات و انت طلبت ملئها بالكامل فسوف تسحب كل قاعدة البيانات اليها، و اذا بنيتها لتحتوي على عدة جداول فقط و سحبت البيانات التي ترغب بها فسوف تحتوي على تلك البيانات فقط؟

بعد الانتهاء من التعامل مع البيانات يمكنك ارجاع التحديثات الى قاعدة البيانات عبر ال Update

ولكن نقطة مهمة، ال dataset بحتوي على كل بيانات الجدول، تاكد اذا كان الجدول كبير ان تحصل على البيانات التي ترغب بها فقط، و يفضل كثيرا اخذها عبر StoredProcedure ، الامر Fill الخاص بال DataAdapter بيحتوي على امكانية اخذ جزء من السجلات الى الذاكرة (عبر الامر نفسه)، ولكنه سوف يطلب كل السجلات عبر الشبكة، لذلك يفضل استخدام ال soterProcedure لتفادي ذلك، بالطبع ال DataAdapter يمكنه الارتباط بال StoredProcedure و الاستفادة منها عبر ال Parameters و الامر fill و update

في .NET 1.2 هناك بعض الخصائص المطورة مثل ال Paging و احتمال ان تضاف امكانية التعامل مع ال timeStamp بصورة الية (مع انه امر معقد) ان حدث ذلك فسوف تصبح الامور اسهل قليلا، ولكن مع ذلك سوف يختلف الامر من مكان الى اخر، فبعض ال Datasets سوف تحتاج الى اوامر SQL معينة و التي لن تتمكن من العمل بال timestamps

انا الان باستخدم ال stored procedures صعبة في البداية لتطبق في كل مكان و خاصة لمن اعتاد بالتعامل مع الجداول مباشرة ولكنها بتصبح اسهل لحظة التعود عليها

#3

ال StoredProcedure انا اعرف انها فقط اسرع من جمل ال select sql العادية

لكن هل عندما استخدمها لا توضع كل الداتا فى الكاش وهل اذا استخدمت فى جمل الselect sql مثلا select fieldName لا يتم اخذ كل الجدول فى الكاش ويتم فقط اخذ هذا الحقل؟

#4

نعم ال Stored Procedure سوف تنفذ من طرف الجهاز المركزي و سوف ترجع الحقل المطلوب فقط، او قطعة البيانات المطلوبة اذا استخدمت الفلترة، يعني اذا طلبت الاسم الاول و الاخير فقط من جدول الموطفين لكل من يبدا اسمهم بحرف ما، فقط هؤلاء سوف يرجعوا الى ال dataset و سوف يخذنوا في الذاكرة.

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

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