قم بتحديث قاعدة البيانات على الزر ، انقر فوق ، بعد تحرير GridView (لا يتم حفظها تلقائيًا في DB ، ولكن بعد التأكيد على أي حدث) في استخدام المعاملات

StackOverflow https://stackoverflow.com/questions/2566178

سؤال

0 صوت أسفل النجمة

أنا أستخدم GridView في ASP .NET وتحرير البيانات مع خاصية حقل أمر تحرير (كما نعلم بعد تحديث الصف المعدل ، نقوم بتحديث قاعدة البيانات تلقائيًا) ، وأريد استخدام المعاملات (مع بدء بيان الالتزام - بما في ذلك التراجع) إلى ارتكب استعلام التحديث هذا في قاعدة البيانات ، بعد النقر في بعض الزر (بعد بعض الأحداث على سبيل المثال) ، وليس تلقائيًا لإدراج أو تحديث البيانات المعدلة من الشبكة مباشرة إلى DB ... لذلك أريد حفظها في مكان مؤقت (حتى العديد من التحرير الصفوف - وليس فقط صف واحد) ثم لتأكيد المعاملة - لتحديث الجداول الحقيقية في قاعدة البيانات ...

لقد استخدمت بعض الروابط الجيدة ، لكن مفيدة للغاية ، مثل:

http://www.asp.net/learn/data-access/tutorial-63-cs.aspx

http://www.asp.net/learn/data-access/tutorial-66-cs.aspx etc ...إلخ...

هل كانت مفيدة؟

المحلول

حسنًا ، هناك العديد من الخيارات لحفظ البيانات ، والجلسة ، وذاكرة التخزين المؤقت ، وملف XML ، ولكن الشيء الذي يجب أن تكون حذرًا منه هو الحفاظ على الارتباط بين البيانات المخزنة مؤقتًا وعملية الدُفعات. جلسة أو ذاكرة التخزين المؤقت يجب أن تكون مهتمًا بتهمة المهلة ؛ يعد القرص IO آمنًا إلى حد ما ، على الرغم من أنه يتعين عليك فقط الحفاظ على الارتباط بين البيانات المحفوظة والمستخدم. كم من الوقت تريد حفظ الإدخالات السابقة؟

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

يمكنك ربط البيانات باسم المستخدم ، إذا كنت بحاجة إلى مصادقة ، ثم ببساطة قراءة الملفات من الجلسة ، ذاكرة التخزين المؤقت ، القرص IO ، وما إلى ذلك للحصول على البيانات المحفوظة مسبقًا ، وإعادة التحميل عند عودتها. يعتمد ذلك على المدة التي ترغب في تخزينها للبيانات ، هل يحين وقتًا طبيعيًا إذا لم يتجولوا في تقديمها؟ إذا كان يومين على الطريق ، هل يجب أن يتمكنوا من العودة والبدء في المكان الذي توقفوا فيه؟

HTH.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top