PDA

View Full Version : سوال: حذف نشدن داده از ديتاگريد



Iran58
دوشنبه 31 خرداد 1389, 13:32 عصر
سلام
اطلاعات جدول مورد نظرم را به يك ديتاگريد متصل كرده ام (يكي از داده ها كليد خارجي جدول ديگري مي باشد) مشكل من اينجاست كه هنگاميكه روي سطري از ديتاگريد كليك مي كنم وگزينه حذف را ميزنم داده مورد نظر حذف مي شود از ديتاگريد اما پيغامي كه برايحذف نشدن اين داده كه كليد خارجي يك جدول ديگر است را درست كرده ام را هم نمايش مي دهد وازجدول مورد نظر هم پاك نمي شود اما از ديتاگريدم پاك مي شود وهنگاميكه فرم را مي بندم وازنوع باز مي كنم داده موردنظر در ديتاگريد دوباره نمايش داده مي شود
چكاركنم كه داده موردنظرم كه كليد خارجي جدول ديگري است و ازآن استفاده هم شده است در ديتاگريدم پاك نشود
با تشكر

ozzy_mra
دوشنبه 31 خرداد 1389, 13:51 عصر
یعنی شما می خواید کلید اصلی رو حذف کنید ولی اون مقداری که تو جدول دیگه که به عنوان کلید خارجی هستو حذف نکنه؟
اگه این باشه فکر نمی کنم sql این اجازه رو به شما بده... برای این کار باید قید کلید خارجی رو از اون تیبل برداری یعنی منطقاً کلید خارجی هست ولی به sql اعلام نمی کنی به فرض اگه تعریف فیلدت اینجوری باشه :

field1 int(3) References Table1(field1)
این قید کلید خارجی رو از فیلدت حذف کن والا فکر نمی کنم که بتونی کلید اصلی رو بدون اینکه کلید خارجیشو حذف کنی از بین ببری و باید از delete cascade استفاده کنی

Iran58
دوشنبه 31 خرداد 1389, 13:58 عصر
یعنی شما می خواید کلید اصلی رو حذف کنید ولی اون مقداری که تو جدول دیگه که به عنوان کلید خارجی هستو حذف نکنه؟
اگه این باشه فکر نمی کنم sql این اجازه رو به شما بده... برای این کار باید قید کلید خارجی رو از اون تیبل برداری یعنی منطقاً کلید خارجی هست ولی به sql اعلام نمی کنی به فرض اگه تعریف فیلدت اینجوری باشه :

field1 int(3) References Table1(field1) این قید کلید خارجی رو از فیلدت حذف کن والا فکر نمی کنم که بتونی کلید اصلی رو بدون اینکه کلید خارجیشو حذف کنی از بین ببری و باید از delete cascade استفاده کنی

سلام
باتشكر از جواب شما
بنظرم اشتباه منظورم را رسانده ام
مشكل من اينست كه نمي خواهم داده حذف شود(كه حذف هم نمي شود) اما وقتي كليد حذف را مي زنم داده از ديتاگريد حذف مي شود كه نمي خواهم اين اتفاق بيفتد

mmd2009
دوشنبه 31 خرداد 1389, 13:59 عصر
سلام دوست عزیز

میشه اون کدی رو که گذاشت رو بذارید ببینیم

اگه برنامه رو هم بذارید که خیلی بهتر هم میشه

Iran58
دوشنبه 31 خرداد 1389, 15:36 عصر
سلام دوست عزیز

میشه اون کدی رو که گذاشت رو بذارید ببینیم

اگه برنامه رو هم بذارید که خیلی بهتر هم میشه
سلام
اما كد مربوطه


private void btnDelete_Click(object sender, EventArgs e)
{
try
{
if (MessageBox.Show("Are you sure To Delete Record?", "Dear Customer", MessageBoxButtons.YesNo) == DialogResult.Yes)
{
this.BSGlobal.Remove(this.BSGlobal.Current);
BusinessLayer.tblExitIkco b = new BusinessLayer.tblExitIkco();
b.SubmitChanges(DSGlobalExitIkco);
}//End If
}
catch (Exception)
{
MessageBox.Show("داده ای برای حذف وجودندارد");
}
}
دراين بخش داده ازديتاگريد حذف مي شود اما ازبانك پاك نمي شود من مي خواهم از ديتاگريد هم پاك نشود(برنامه چندلايه اي است)

Iran58
جمعه 18 تیر 1389, 09:31 صبح
سلام
مددكننده اي نيست