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

طلب مساعدة من محترفي السي شارب

بدأه omar1978 في 7 يونيو 2010 · 7 رد · 517 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

الأخوة الأعزاء أعضاء المنتدى الغالي السلام عليكم ورحمة الله وبركاته

لدي سؤال وأرجو مساعدتكم

لدي فورم فيه تفرير وعند الضغط على زر حفظ التقرير يتم حفظه في قاعدة بيانات SQL SERVER ولكن يمكن للمستخدم أن يضغط زر حفظ التقرير أكثر من مرة وبالتالي يتم حفظ التقرير عدة مرات

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

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

أرجو المساعدة وجزاكم الله كل خير

#2

كيف تحفظ التقرير؟

تحفظه بقاعدة البيانات؟

ما نوع الحقل الذي تحفظ فيه؟

1338031614581.png

" اللهــم إنّا مغلــوبــون فانتصــــر "

(اللهم سبحانك لا علم لنا إلا ما علمتنا إنك أنت العليم الحكيم)

#3

أخي الكريم

شكراً لك على مشاركتك

ولكن أتمنى منك أن تقرأ السؤال مرة أخرى

#4

ابسط طريقة هي إضافة حقل في قاعدة البيانات من نمط Bit وعند حفظ التقرير تخزن فيه قيمة True وعند محاولة المستخدم الحفظ مرة اخرى تفحص هذا الحقل

بالتوفيق

1338031614581.png

" اللهــم إنّا مغلــوبــون فانتصــــر "

(اللهم سبحانك لا علم لنا إلا ما علمتنا إنك أنت العليم الحكيم)

#5

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

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

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

تحياتي

#6

الأخ was_hal المحترم

لقد طبقت الطريقة التي زودتني بها وهي طريقة رائعة بالفعل

لدي سؤال أعرف أنه بسيط ولكن محيرني شوي

عندما يضغط المستخدم على زر حفظ التقرير مرة ثانية تظهر له رسالة تخبره أن هذا التقرير تم حفظه من قبل ولكن المشكلة أنه يتابع تنفيذ الكود وهو عملية الحفظ فأنا أريد أن لا يتابع تنفيذ الكود بعد ظهور الرسالة علماً أني استخدمت الكود this.Close() ولم أستفد شيئاً

الرجاء المساعدة ولك جزيل الشكر

#7

استخدم العبارة Return لتوقف اكمال التنفيذ

بالتوفيق

1338031614581.png

" اللهــم إنّا مغلــوبــون فانتصــــر "

(اللهم سبحانك لا علم لنا إلا ما علمتنا إنك أنت العليم الحكيم)

#8

قد قرأت موضوع مشابه هنا في المنتدى

1-انت احد الحلول لهذه المشكله هيا عمل سلكت ومن ثم اذا عادة الداتا تيبل فارغه يتم عمل انسيرت else لا تتعمل عملية الانسيرت

2-والطريقة الثانيه هيا تحديد حقل في الجدول من نوع لا يسمح بالتكرار واصطياد الخطأ في بلوك try... catch

ولشرح الطريقتين بالتفصيل على هذا الرابط هنا

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