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

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

بدأه vbzaidan في 27 سبتمبر 2009 · 2 رد · 1,177 مشاهدة · في ADO.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

إستفسار : أريد أن أقوم بإدخال عدد من السجلات دفعة واحدة بمجرد الضغط على زر حفظ من واجهة البرنامج المتصلة بقاعدة البيانات ( واجهة البرنامج مصممة بواسطة فيجول ستيدو2005 C# وقاعدة البيانات مصممه ببرنامج sql server 2005 )

حل الشخصي ( الذي قمت أنا بإستخدمه ) :

1-في برنامجي هناك زرين : زر حفظ و زر إضافة

2- المستخدم يضغط على زر إضافة يعبئة البيانات الخاصة بالسجل

حالات الحفظ بعد الضغظ لى زر حفظ

الحالة الأولى : إدخال سجل واحد وحفظه

3- في حالة الضغط على حفظ يقوم البرنامج بحفظ السجل الواحد الذي قام بإضافته المستخدم على المستخدم الآن أن يضغط على زر إضافة مرة أخرى ثم يسجل البيانات ثم حفظ وهذه علمية متعبة

الحالة الثانية : إضافة عدد من السجلات إلى الذاكرة ثم الضغط مرة واحدة على زر الحفظ

4-في حالة الضغط على زر إضافة ** مرة أخرى بعد إدخال بيانات السجل الأول ** يقوم البرنامج بحفظ بيانات السجل الأول في مصفوفة ويضع رقم 1 تحت زر حفظ معلنا أن هناك سجل تم إضافته لدينا فقط في الذاكرة وتمسح البيانات السابقة من ال textbox لإستقبال بيانات السجل الثاني وهكذا فرضا أكتفى المستخدم بإضافة 10 سجلات للذاكرة والآن يريد الحفظ بمجرد الضغط على زر * حفظ* مرة واحدة يقوم البرنامج بإدخال جميع السجلات المحفوظة في المصفوفة إلى قاعدة البيانات ( تسهيلا للمستخدم بدل من أي يضغط زر إضافة 10 مرات وز حفظ 10 مرات ) سيضغط هنا على زر إضافة 10 مرات وزر حفظ مرة واحدة فقط .

(( النتيجة )) : لقد قمت فعليا بتطبيق هذه الفكرة ونجحت لكن ميكانيكة الحفظ بطىء نوع معا أقصد السرعة لأنني ساقوم بإستدعاء الإجراء الذي يقوم بعمل insert 10 عند طريق حلقة تكرارية وبعد إدخال السجلات العشرة أقوم بعمل filling to the dataset

الحل الآخر ( الذي أريد مناقشته معكم ) هو بإستخدام sql copy bulk ?

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

شكرا لتعاونكم وأعذورني للإطالة وبمناقشة هذا الموضوع سيتفيد الكثير .. بإذن الله ..

أخوكم

زيدان

#2

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

من فضلك لا تقم بوضع موضوعك فى اكثر من منتدى حتى لا تتعرض للانذار

الفئة SQLBulkCopy تحت المجهر

تم تعديل هذه المشاركة بواسطة طارق إبراهيم في 27 سبتمبر 2009 في 07:36

Technical Lead Developer

My LinkedIn Profile

اللهم قنى شر الجهل و الجهلاء

( اقْتَرَبَ لِلنَّاسِ حِسَابُهُمْ وَهُمْ فِي غَفْلَةٍ مَّعْرِضُونَ ) {الأنبياء:1}

#3

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

sqlserver & ado.net وكل جزء مرتبط ببعضه فجمعتهم جميعا في موضوع واحد ..وأعتذر مرة أخرى .

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…