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

كيف يمكن حذف عضو من جدول مرتبط بجدول آخر؟؟

بدأه .::ICe-AA::. في 15 يونيو 2011 · 11 رد · 998 مشاهدة · في قواعد بيانات Microsoft SQL Server
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

أخواني عندي مشكله وهي

يوجد لدي في قاعدة البيانات جدول "الأعضاء" و جدول "مشاركات"

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

The DELETE statement conflicted with the REFERENCE constraint "FK_Meeting_GraduateData1". The conflict occurred in database "D:\مشروعASSOCIATION_OF_GRADUATES\APP_DATA\GRADUATE.MDF", table "dbo.Meeting", column 'GraduatID'.

The statement has been terminated.

أريد عند حذف أي عضو تبقا مشاركاته

مالحل لهذه المشكلة مشكورين مأجورين

#2

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

للمزيد من المعلومات حول SQL constraints:

http://www.w3schools.com/Sql/sql_foreignkey.asp

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#3

مشكور أخوي الله يجزاك خير

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

#4

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

بالتأكيد اخي سيظهر خطأ لأن جدول المشاركات يحتوى رقم العضو كمفتاح ثانوي فكيف سيبقى المفتاح الثانوي من دون المفتاح الاساسي؟ اذا اردت هذا قم بحذف مشاركاته اولا من ثم حذفه ولكن هذه طريقه مكلفة, لذا قم بتعديل العلاقه واختر Delete Cascade بحيث يكون الحذف متسلسل اذا تم حذف العضو ستنحذف مشاركاته

.:: Wish to become better and better ::.

#5

مشكور أخوي VB Helper

لكن مثل ماتفضل أخونا Xacker لا اريد ان تحذف المشاركه

أخوي اتقصد كسر العلاقة ثم حذف العضو؟ لن يظهر اسم العضو على المشاركة بعد حذف العضو

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

ماهي الطريقة المتبعة في المنتديات حول هذا الموضوع؟

العمذرة على الاطالة

#6
اقتباس
هل تقترح أن انشأ حقل لتفعيل العضو أوعدم تفعيله بدل الحذف؟

اعتقد انه الافضل بحيث تضع حقل يعبر عن ان العضو فعال او غير فعال .

في هذا المنتدى (الفريق العربي للبرمجة) عند حذف عضو يتم تغيير اسمه وبياناته اي لا يتم حذف فعلي .

تم تعديل هذه المشاركة بواسطة TareqVB في 16 يونيو 2011 في 12:40

#7

TareqVB

مشكور أخوي الله يجزاك خير

#8

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

اخي افضل قبل حذف العضو وضع المفتاح الثانوي مساويا Null ومن ثم احذ العضو بهذا ستبقى جميع مشاركاته مجهولة

.:: Wish to become better and better ::.

#9

مشكور أخوي VB Helper

ولكن مارأيك أن أجعل القيمة الافتراضية في الحقل الثانوي="عضوية محذوفة" وتعديل العلاقة بحيث يأخذ القيمة الابتدائية عند المسح

#10

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

اخي لاتنسى ان الحقل عبارة عن مفتاح ثانوي بمعنى اخر ان اي قيمة فيه لابد ان تكون موجوده في المفتاح الاساسي, لذا انصح ان تنقل فكرتك في الكود اذا كان قيمة الحقل فاضيه

.:: Wish to become better and better ::.

#11

مشكور وجزاك الله الف خير

#12

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

لاشكر على واجب اخي ...

.:: Wish to become better and better ::.

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

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

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

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

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