نمایش نتایج 1 تا 6 از 6

نام تاپیک: مشکل در Delete کردن

  1. #1
    کاربر دائمی
    تاریخ عضویت
    شهریور 1387
    محل زندگی
    اصفهان-تهران
    پست
    212

    Question مشکل در Delete کردن

    توب برنامم یه جدول به نام Teacher دارم که دارای یک فیلد به نام Teacher_ID است و یه جدول به نام Term Teacher که دارای فیلدی به نام TermTeacher_ID و Teacher_ID_FK (کلید خارجی)است.
    وقتی که میخوام تو برنامم حذف یک استاد رو انجام بدم با اینکه از یک استاد (مثلا با ID =2 ) توی جدول TermTeacher استفاده شده وقتی که میخوام اون استاد رو از جدول Teacher پاک کنم اونو پاک میکنه با اینکه طبق روابطی که داره نباید اونو پاک کنه.میشه بگید کجای کارم اشتباهه؟
    کد برنامم اینه
    تو برنامم

    private
    void btnDelete_Click(object sender, EventArgs e)
    {
    this.dgv.DataSource = ds.Tables["Teacher"];
    DataRowView drv = (DataRowView)this.BindingContext[ds.Tables["Teacher"]].Current;

    DialogResult dr = MessageBox.Show("™آیا مایل به حذف هستید؟", "",
    MessageBoxButtons.YesNo,
    MessageBoxIcon.Warning,
    MessageBoxDefaultButton.Button2);
    if (dr == DialogResult.Yes)
    {

    objteach.deletTeacher(drv);
    }
    }

    کد delet teacher تو لایه businesslayer

    publicvoid deletTeacher(DataRowView drv)
    {
    objteach.deletTeacher(drv);
    }

    کد deletTeacher تو لایه DataLayer

    publicvoid deletTeacher(DataRowView drv)
    {
    int rowid = (int)drv.Row["Teacher_ID"];
    drv.Delete();
    SqlCommand cmd = newSqlCommand("delete from Teacher where Teacher_ID=@Teacher_ID", con);
    cmd.CommandType =
    CommandType.Text;
    cmd.Parameters.AddWithValue(
    "@Teacher_ID", Teacher_ID);
    con.Open();
    cmd.ExecuteNonQuery();
    con.Close();

    }

  2. #2
    کاربر دائمی آواتار SMRAH1
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    مشهد
    پست
    884

    نقل قول: مشکل در delet کردن

    سلام

    مطمئن هستید که "کلید خارجی" بودن رو چه توی پایگاه داده و چه توی DataSet تعریف کرده اید؟
    در ضمن،من توصیه می کنم خودتون توی کد برنامه ،وجود یا عدم وجود این فیلد رو تست کنید و بعد اقدام به حذف کنید

    موفق باشید

  3. #3

    نقل قول: مشکل در delet کردن

    احتمالا تو دیتا بیس رابطه رو تعریف نکرده اید برای این کار می تونید تو قسمت دیاگرام دو جدول رو وارد کنید و ارتباط بین این دو برقرار کنید و جدول کلید خارجی و کلید اصلی را مشخص کنید و Cascade رو هم در صورت تمایل تخصیص بدید .

  4. #4
    کاربر دائمی
    تاریخ عضویت
    شهریور 1387
    محل زندگی
    اصفهان-تهران
    پست
    212

    نقل قول: مشکل در delet کردن

    این شکل جدولامه
    عکس های ضمیمه عکس های ضمیمه

  5. #5
    کاربر دائمی
    تاریخ عضویت
    شهریور 1387
    محل زندگی
    اصفهان-تهران
    پست
    212

    نقل قول: مشکل در delet کردن

    نقل قول نوشته شده توسط SMRAH1 مشاهده تاپیک
    سلام

    در ضمن،من توصیه می کنم خودتون توی کد برنامه ،وجود یا عدم وجود این فیلد رو تست کنید و بعد اقدام به حذف کنید

    موفق باشید
    چجوری باید تست کنم؟

  6. #6
    کاربر دائمی آواتار SMRAH1
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    مشهد
    پست
    884

    نقل قول: مشکل در delet کردن

    سلام

    یک qurey روی CourseTermTeacher بنویسید و تعداد رکوردهایی که theacher_ID-Fk اونها برابر با Theacher_ID مد نظر است بدست بیارید.حالا کافیه ببینید که این عدد صفر است یا نه؟
    اگر صفر بود ،اقدام به حذف کنید و در غیر اینصورت عملیات حذف را لغو کنید.

    موفق باشید

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •