دوستان این Error از چی می تونه باشه، چرا رکورد بانکم حذف نمی شه
Capture.JPG
دوستان این Error از چی می تونه باشه، چرا رکورد بانکم حذف نمی شه
Capture.JPG
اين خطا از سمت اس كيو ال داره ارسال ميشه و بهت ميگه در دستورت داري سطري رو حذف ميكني كه باعث بهم خوردن ارتباطات توي ديتا بيست ميشه.احتمالا توي Relation در diagram توي اس كيو الت ارتباطت رو Cascade گذاشتي.
كليدهاي ارتباطي در ارتباطاتت رو داري حذف ميكني در حاليكه هيچ رابطه درستي در دياگرامت بعد از حذف اين كليد ايجاد نكردي.
دلیل این خطا به دلیل اینه که یک سری رکورد در یک جدول دیگه داری که با رکوردهای همین جدول ارتباط دارن
مثلا جدول مشتری وجود داره ، و جدول سفارش خرید
وقتی سفارش خرید ثبت میشه آی دی مشتری به سفارش خرید میچسبه
حالا اگر بعدا شما بیای و یک مشتری که چند سفارش ازش ثبت شده بخوای پاک کنی خطای ارتباط relation در یافت می کنی
برای حل همین مشکل یا باید اول همه ی سفارش های اون مشتری رو از جدول سفارش ها پاک کرده و بعد بیای و اون مشتری رو پاک کنی
یا توی تنظیماتی که دوستمون گفتن Insert و Update Action رو روی Casecade بزاری
این یعنی تغییرات به صورت زنجیروار انجام بشه و اگر کسی یک مشتری رو پاک کنه خود به خود اس کیو ال همه ی رکوردهایی که از اون مشتری وجود داره پاک می کنه.
دوستان این مشکل برطرف شد، حق با شما بود حالا من این ارتباطم رو باید چیکارش کنم که وقتی یک کلیدی رو حذف میکنم کلاً از داخل تمام Tabel ها اون کلیدی که دارم حذف بشه
مثلاً فک کنید یک مقاله ثبت شده را از داخل جدول Article_Recive حذف کنم در صورتی که این مقاله رو برای یک داور فرستادم داخل جدول Article_Refree
یعنی مقاله با ID =2 که هم داخل جدول Article_Recive و هم Article_Refree هست را از دو جدول حذف کنم
فرض كن جدول كاركنان داري و يك جدول ليست بچه هاي اون كارمند حالا خود كارمند اخراج شده ! حذفش ميكني ايا دليلي داره كه اطلاعات فرزندان اون موجود باشه؟ حتما نه پس بايد يا نال بذاري يا حذفش كني. احتمالا تحليلت بد بوده مثلا ممكنه توي دياگرامت يك Cycle بوجود اورده باشي.عكس دياگرامت رو بذار.
سلام دوستان.
این کد insert باتن منه که وقتی اطلاعات رو در فیلد ها وارد می کنم و سپس باتن رو کلیک می کنم دقیقا تصویری که دوستمون گذاشته اجرا می شه. ولی من فقط یک جدول دارم.
con.Open();
string query = "insert into books (bname, author) VALUES ('" + textBox1.Text + "', '" + textBox2.Text + "')";
OleDbCommand myCommand = new OleDbCommand();
myCommand.CommandText = query;
myCommand.Connection = con;
myCommand.ExecuteNonQuery();
con.Close();
MessageBox.Show("دادهها با موفقیت ثبت گردید!");
textBox1.Text = "";
textBox2.Text = "";
دوست من بفرما این هم دیاگرام
Capture.JPG