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

كيف يتم حفظ أكثر من سجل في قاعدة البيانات واحدة وفي جدول واحد

بدأه MATRIXD0TNET في 15 يوليو 2008 · 5 رد · 1,281 مشاهدة · في ADO.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم :

ياريت ياشباب لو تساعدوني على عمل الاتي :

أريد طريقة تمكني من حفظ أي عدد من السجلات في نفس الجدول مرة واحدة (20 سجل مثلا دفعة واحدة)

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

لأن ما سوف أقوم به هو كالاتي

سوف أقوم بعمل داتا سيت وسوف تحتوي هذه الداتا سيت على جدول وبدور هذا الجدول سيحتوي على السجلات التي أريد ترحيلها أو حفظها في الجدول الموجود في الداتا بيز

وطبعا ستكون عدد السجلات الموجودة في الجدول الموجود في الداتا سيت كبير (يعني أكتر من سجل وربما يصل الى 1000 سجل )

ياريت تكون الرؤية وضحت ...

فهل من طريقة لعمل ذلك ؟؟؟؟

أنا حاسس ان الموضوع له علاقة بالوضع المتصل ... لكن بعدما تصبح الداتا سيت جاهزة لترحيلها للداتا بيز الاساسية هل سوف أستخدم جملة أبديت ولا أيه ؟؟؟؟

ولو هتصبح جملة أبديت هتكون أبديت للجدول الموجود في الداتا بيز الاصلية .. في الوقت ده هيكون شكل الجملة اذاي؟؟؟؟

ولو تفكيري ده خاطئ :S ..... الصح هيكون ايه في تنفيذ السابق ؟؟؟؟

وفي انتظاركم...

وشكرا

كـلـمـا زاد عـلـمـك لـلـشـئ الـمـجـهـول ..... كـلـمـا زاد جـهـلـك لـلـشـئ الـمـعـلـوم

و كـلـمـا زاد جـهـلـك لـلـشـئ الـمـعـلـوم ..... كـلـمـا زاد شـغـفـك لـعـلـم الـمـجـهـول

الــلـــــــهـــــم عـــلـــمـــنــــــي بـــمـــا يـــنــفــعــنــي وانــفــعــنــي بــمــــا عـــلـــمــتــنـــي

#2

نعم يمكنك استخدام أمر update و لكن تأكد من أن جملة الإدخال في الآدابتر صحيحة.

و لكن تنبه بأن هذا الأمر سيترجم في النهاية إلى مجموعة من أوامر الإدخال المنفصلة و ليس أمراً واحداً. لذا يمكنك أن تقوم بحلقة تصدر أوامر الإدخال (داخل transaction واحد طبعاً) و ستكون النتيجة هي نفسها.

#3

الف شكر أخي الغالي SystemDwon على الرد والتوضيح

وجاري التجربة.....

كـلـمـا زاد عـلـمـك لـلـشـئ الـمـجـهـول ..... كـلـمـا زاد جـهـلـك لـلـشـئ الـمـعـلـوم

و كـلـمـا زاد جـهـلـك لـلـشـئ الـمـعـلـوم ..... كـلـمـا زاد شـغـفـك لـعـلـم الـمـجـهـول

الــلـــــــهـــــم عـــلـــمـــنــــــي بـــمـــا يـــنــفــعــنــي وانــفــعــنــي بــمــــا عـــلـــمــتــنـــي

#5

الحمد لله إنك وجدت حل للمعضلة

تم تعديل هذه المشاركة بواسطة vbzaidan في 23 يوليو 2008 في 23:28

#6

الف شكر لجميع الأخوة الأفاضل الذين ساهموا في التوضيح ......

أنا موضوعي مختلف عن ماسبق ...

يعني أنا كان سؤالي : كيف أضيف أكثر من سجل دفعة واحدة ... وطبعا السؤال واضح

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

الموضوع عبارة عن :

إن شاء الله أنا هحول البرنامج بتاعي لكي بعمل على شبكة .... تمام

وفي شوية مشاكل بواجهة حاليا بسبب الموضوع ده لان أول مره هتعامل مع برنامج على شبكة وأنا معرفش أي حاجه في الشبكات وحتى الكونيكشن سترينج المناسب لربط البرنامج مع

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

وياريت لو حد يعرف لها حل يوضح وأكون شاكر جداا ... وده رابط للمشاركة الرجاء المشاركة

المهم :

أنا فكرت في استخدام طريقة حفظ أكثر من سجل دفعة واحده للاتي :

البرنامج ان شاء الله هيشتغل شبكة وهيكون في قاعدة بيانات تانية على الجهاز المحلى ... بسبب لو حدث أي مشاكل في الشبكة البرنامج يشتغل عادى وبدون أي مشاكل لانه هيحفظ البيانات في الجهاز الحالي فترة عدم عمل الشبكة ...

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

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

وهو كالتالي :

أنا هعمل عمود في الجدول الموجود في قاعدة البيانات الموجوده في الجهاز الحالي اللي بياناته المفروض انها تترحل لقاعده البيانات الموجوده على السيرفر

وهخلي القيم اللي تدخل حقول العمود ده حاجة من اثنين (falue - true ) أو (yes - no ) مش مشكلة الاسم هيكون ايه !!!

المهم

القيم دي هتتاخد على أساس واحد بس ... اللي هو السجل ده اتسجل على قاعدة بيانات السيرفر ولا لأ.....

وطبعا ده لاني هكون عامل 2 كونيكشن واحد خاص بالحفظ على السيرفر والتاني خاص بالحفظ على الجهاز نفسه .....

وبالكود هيكون الاتصال بالسيرفر هو الاول طبعا وهعمل كود تاني للتحقق اذا كان الاتصال بالسيرفر شغال ولا لأ ...

اذا كان التصال بالسيرف شغال فالبيانات هتتحفظ على السيرفر وأكون معرف متغير ياخد قيمة من التنين اللي فوق (yes - no ) مثلا ... واذا تم عملية الحفظ بنجاح على السيرفر ياخد القيمة

yes واذا مكنش فيه اتصال هياخد القيمة no .... تمام

وبعد كده هشتغل على الكونيكشن الخاص بالحفظ على الجهاز الحالي وأثناء عملية الحفظ همرر المتغير اللي قيمته (yes - no ) لعملية الحفظ في الجدول الموجود على الجهاز الحالى ..

ممكن تكون الفكرة مش واضحة دلوقتي .... بس هتبان في الاخر

بعد رجوع عمله الشبكة مرة أخرى هيتم الاتي ان شاء الله :

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

وده هيتم كالتالي :

هعمل جملة سيلكت لكل السجلات الموجوده في جدول معين اللي تحتوى على no لان ده هيكون بيدل على ان السجل ده لم يتم حفظه على السيرفر ...تمام

وبعد كده هعمل fill للسجلات دي كلها اللي بتحمل القيم no في الداتا سيت ...تمام

وبعد كده هيجي دور السؤال اللي أنا كنت كاتبه في الأول

اقتباس
أريد طريقة تمكني من حفظ أي عدد من السجلات في نفس الجدول مرة واحدة (20 سجل مثلا دفعة واحدة)

لان بعد ما أكون عملت fill للداتا سيت بالسجلات التي لم تحفظ على السيرفر لازم أعملها أبديت علشان تروح للسيرفر ...

وبكده هتكون اتحلت المشكلة بتاعت تحديث البيانات للداتا بيز الموجوده على السيرفر في حالة عدم عمل الشبكة ثم رجوع عملها .. لأن السؤال ده كنت سألته من فترة ولم أصل فيه لنتيجه

وان شاء الله بعد ما يتم ده كله هيكون هو ده الحل .... ان لم يكن هناك حل اخر أسهل وأسرع وأبسط .....

وأظن ان العملية كلها كده وضحت دلوقتي

بس ليا طلب اخير لو تكرمتوا ياريت تزوروا المشاركة اللي في الرابط فوق

واسف اذا كنت طولت عليكوا

وشكراااااااااااااااااااا

كـلـمـا زاد عـلـمـك لـلـشـئ الـمـجـهـول ..... كـلـمـا زاد جـهـلـك لـلـشـئ الـمـعـلـوم

و كـلـمـا زاد جـهـلـك لـلـشـئ الـمـعـلـوم ..... كـلـمـا زاد شـغـفـك لـعـلـم الـمـجـهـول

الــلـــــــهـــــم عـــلـــمـــنــــــي بـــمـــا يـــنــفــعــنــي وانــفــعــنــي بــمــــا عـــلـــمــتــنـــي

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

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

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

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

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