PDA

View Full Version : مشکل در ذخیره جدول به صورت یکجا



ebrahim.rayatparvar
شنبه 09 خرداد 1394, 18:29 عصر
سلام دوستای خوب من
من داخل برنامه یه جدولی دارم که بهش مقدار میدم و یهو به صورت یه جا میفرستم طرف دیتابیس و ذخیره میشه و باز هم به ادامه اضافه می کنم ذخیره میشه ولی زمانی که 1 سطر پاک کنم پیغام خطا زیر رو میده :


Deleted row information cannot be accessed through the row.


کد سمت لایه UI :


try
{
//---------------- لیست ماشین ها ------------------
blCls._Kind = 3;
gridViewCarName.FocusedRowHandle = 0;
bsCarName.DataSource = gridControlCarName.DataSource;
blCls._CarList = bsCarName.DataSource as DataTable;
str = blCls.dalAddList();
if (str != "1")
{
ShowMessage.Show(str, "خطا", ShowMessage.PersionMessageBoxButton.Ok,
ShowMessage.PersionMessageBoxIcon.Error);
return;
}
}
catch (Exception ex)
{
ShowMessage.Show(ex.Message, "خطا", ShowMessage.PersionMessageBoxButton.Ok,
ShowMessage.PersionMessageBoxIcon.Error);
return;
}


کد سمت لایه BL :


public string dalAddList()
{
dalClsBasicInformatioList._Kind = kind;
if(kind==1)
dalClsBasicInformatioList._CategoryList = categoryList;
else if (kind == 2)
dalClsBasicInformatioList._UnitList = unitList;
else if (kind == 3)
dalClsBasicInformatioList._CarList = carList;
else if (kind == 4)
dalClsBasicInformatioList._ServicsCardNameList = servicsCardNameList;

return dalClsBasicInformatioList.dalAddList();
}


کد سمت لایه DAL :


public string dalAddList()
{
con.Connect();
SqlCommand cmd = new SqlCommand("Utility.Merge_List", con.Conn);
cmd.CommandType = CommandType.StoredProcedure;
//================================================== =========
cmd.Parameters.Add("@Kind", SqlDbType.TinyInt).Value = kind;
if (kind == 1)
cmd.Parameters.Add("@Category", SqlDbType.Structured).Value = categoryList;
else if (kind == 2)
cmd.Parameters.Add("@Unit", SqlDbType.Structured).Value = unitList;
else if (kind == 3)
cmd.Parameters.Add("@CarList", SqlDbType.Structured).Value = carList;
else if (kind == 4)
cmd.Parameters.Add("@NameServiceCard", SqlDbType.Structured).Value = servicsCardNameList;
//================================================== =========
cmd.ExecuteNonQuery();
con.Disconnect();
return "1";
}



تشکر می کنم از دوستان تا منو یاری کنند.

parvizwpf
شنبه 09 خرداد 1394, 18:56 عصر
http://stackoverflow.com/questions/4321840/error-deleted-row-information-cannot-be-accessed-through-the-row

ebrahim.rayatparvar
شنبه 09 خرداد 1394, 18:59 عصر
نه parvizwpf (http://barnamenevis.org/member.php?243106-parvizwpf) جان اینو دیده بودم مشکل جای دیگه هست

god of war
شنبه 09 خرداد 1394, 19:13 عصر
سلام مهندس عزیز
جسارتا من متوجه سوالت نشدم دقیق . یعنی زمانی که یک رکورد از grid رو پاک میکنی و میخوای از database پاک بشه با این مشکل مواجه میشی ؟

ebrahim.rayatparvar
شنبه 09 خرداد 1394, 19:43 عصر
سلام مهندس جان.
من تو برنامه گرید رو مقدار می دم موقعی که می خوام ذخیره کنم کل گرید رو میدم به یه BindingSource زمانی که میخوام بفرستم به لایه های دیگه تبدیل به DataTable می کنم.
زمانی که add می کنم مشکلی نیست ولی زمانی که 1 سطر پاک کنم ذخیره رو بزنم این پیغام میاد.
باهاش داستان دارم. همجوره تغییر دادم پیغام های متفاوت دادم. BindingSource رو پاک کردم باز یه پیغام دیگه داد....

god of war
یک شنبه 10 خرداد 1394, 00:11 صبح
میگم نمیشه grid فقط حالت نمایشی داشته باشه ؟
یعنی اولی که اومد بالا کل اطلاعاو بریز تو datatable بعد هربار که از grid پاک کردی از datatable هم پاک کن
اگرم اضافه کردی ک میشه مثل قبل باش رفتار کنی

ebrahim.rayatparvar
یک شنبه 10 خرداد 1394, 10:56 صبح
چرا مشکل من هم همینه من کلا هر دور هم datatable و bindingsource رو میگیرم پاک میکنم و مقدار رو از اول به این ها میدم باز هم همین مشکل هست