PDA

View Full Version : خطا در زمان حذف یک رکود در بانک



M.Nadiri
سه شنبه 03 مرداد 1391, 09:02 صبح
دوستان این Error از چی می تونه باشه، چرا رکورد بانکم حذف نمی شه :متعجب:

90157

ali_habibi1384
سه شنبه 03 مرداد 1391, 09:13 صبح
اين خطا از سمت اس كيو ال داره ارسال ميشه و بهت ميگه در دستورت داري سطري رو حذف ميكني كه باعث بهم خوردن ارتباطات توي ديتا بيست ميشه.احتمالا توي Relation در diagram توي اس كيو الت ارتباطت رو Cascade گذاشتي.
كليدهاي ارتباطي در ارتباطاتت رو داري حذف ميكني در حاليكه هيچ رابطه درستي در دياگرامت بعد از حذف اين كليد ايجاد نكردي.

hakim22
سه شنبه 03 مرداد 1391, 09:50 صبح
دلیل این خطا به دلیل اینه که یک سری رکورد در یک جدول دیگه داری که با رکوردهای همین جدول ارتباط دارن
مثلا جدول مشتری وجود داره ، و جدول سفارش خرید
وقتی سفارش خرید ثبت میشه آی دی مشتری به سفارش خرید میچسبه

حالا اگر بعدا شما بیای و یک مشتری که چند سفارش ازش ثبت شده بخوای پاک کنی خطای ارتباط relation در یافت می کنی
برای حل همین مشکل یا باید اول همه ی سفارش های اون مشتری رو از جدول سفارش ها پاک کرده و بعد بیای و اون مشتری رو پاک کنی
یا توی تنظیماتی که دوستمون گفتن Insert و Update Action رو روی Casecade بزاری
این یعنی تغییرات به صورت زنجیروار انجام بشه و اگر کسی یک مشتری رو پاک کنه خود به خود اس کیو ال همه ی رکوردهایی که از اون مشتری وجود داره پاک می کنه.

M.Nadiri
سه شنبه 03 مرداد 1391, 12:26 عصر
دوستان این مشکل برطرف شد، حق با شما بود حالا من این ارتباطم رو باید چیکارش کنم که وقتی یک کلیدی رو حذف میکنم کلاً از داخل تمام Tabel ها اون کلیدی که دارم حذف بشه

مثلاً فک کنید یک مقاله ثبت شده را از داخل جدول Article_Recive حذف کنم در صورتی که این مقاله رو برای یک داور فرستادم داخل جدول Article_Refree

یعنی مقاله با ID =2 که هم داخل جدول Article_Recive و هم Article_Refree هست را از دو جدول حذف کنم

ali_habibi1384
سه شنبه 03 مرداد 1391, 23:43 عصر
دوستان این مشکل برطرف شد، حق با شما بود حالا من این ارتباطم رو باید چیکارش کنم که وقتی یک کلیدی رو حذف میکنم کلاً از داخل تمام Tabel ها اون کلیدی که دارم حذف بشه

مثلاً فک کنید یک مقاله ثبت شده را از داخل جدول Article_Recive حذف کنم در صورتی که این مقاله رو برای یک داور فرستادم داخل جدول Article_Refree

یعنی مقاله با ID =2 که هم داخل جدول Article_Recive و هم Article_Refree هست را از دو جدول حذف کنم

فرض كن جدول كاركنان داري و يك جدول ليست بچه هاي اون كارمند حالا خود كارمند اخراج شده ! حذفش ميكني ايا دليلي داره كه اطلاعات فرزندان اون موجود باشه؟ حتما نه پس بايد يا نال بذاري يا حذفش كني. احتمالا تحليلت بد بوده مثلا ممكنه توي دياگرامت يك Cycle بوجود اورده باشي.عكس دياگرامت رو بذار.

ehsan7007
چهارشنبه 04 مرداد 1391, 09:35 صبح
سلام دوستان.
این کد 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 = "";

M.Nadiri
سه شنبه 10 مرداد 1391, 14:25 عصر
فرض كن جدول كاركنان داري و يك جدول ليست بچه هاي اون كارمند حالا خود كارمند اخراج شده ! حذفش ميكني ايا دليلي داره كه اطلاعات فرزندان اون موجود باشه؟ حتما نه پس بايد يا نال بذاري يا حذفش كني. احتمالا تحليلت بد بوده مثلا ممكنه توي دياگرامت يك Cycle بوجود اورده باشي.عكس دياگرامت رو بذار.

دوست من بفرما این هم دیاگرام
90543

M.Nadiri
سه شنبه 10 مرداد 1391, 14:27 عصر
سلام دوستان.
این کد 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 = "";


آیا داخل جدولت هیچ رکورد و اطلاعاتی هم داری، اگه داری نگاه کن ببین هنگام ورود داده به داخل بانک کلید بانک تکراری نخوای ثبت کنی