PDA

View Full Version : حذف کردن عکس



amirreyhaneh
پنج شنبه 10 فروردین 1385, 06:14 صبح
با سلام
من وقتی که کاربر یک عکس را وارد کرد عکس را در یک پوشه نگه داشته و آدرس آن را در بانک ذخیره می کنم.حالا می خواهم وقتی رکورد حذف شد عکس مربوط به آن هم که در پوشه قرار دارد حذف شود.چه کاری باید انجام دهم.
با تشکر

white fox
پنج شنبه 10 فروردین 1385, 08:31 صبح
خوب وقتی شما فایلی رو از دیتابیستون حذف میکنید حتما نام عکس هم ذخیره شده کافیه به نحوی این نام رو برگردونید....
که اینکار مشکلی نیست
بعد از حذف رکورد از دیتابیس هم راحت منونید فایل رو پاک کنید.
برای حذف فایل از پوشه عکسها هم کافیه دستور زیر رو وارد کنید.



System.IO.File.Delete(Server.MapPath(filename))


در کد بالا filename شامل آدرس عکس و نام عکس میباشد.

bahar_engineer
دوشنبه 06 مهر 1388, 11:31 صبح
من گریدویویی دارم که از توی اون رکوردهای بانک رو که شامل عکس هم هستند حذف می کنم

البته بصورت ویزارد حذف انجام می شه و کدنویسی براش ندارم

حالا می خوام بدونم برای اینکه عکس رکوردهایی که حذف می شن رو از توی فولدر همون زمان حذف کنم چکار باید کرد؟

توی بانک تنها مسیر عکس ها رو ذخیره کردم و عکس ها توی پوشه هستند.

چطور باید کد بنویسم که عکس اون رکوردی رو حذف کنه که کاربر روی دکمه حذف اون کلیک کرده ؟

چون دکمه حذف بصورت ویزارد هست و من با template براش دکمه حذف نذاشتم

bahar_engineer
دوشنبه 06 مهر 1388, 16:37 عصر
دوستان مشکل کد من چیه ؟

چرا خطا می ده ؟

این کد رو توی تمام رویداد ها امتحان کردم توی select index change ایراد نمی گیره اما عکس رو هم از فولدر حذف نمی کنه

در ضمن 2 خط اول این کد که مربوط به بدست آوردن کد عکس انتخاب شده برای حذف هست رو توی همین رویداد row_deleting گذاشتم و کد مربوط به حذف عکس از فولدر رو توی تمام رویدادها امتحان کردم یا خطا می ده یا اصلا حذف نمی کنه

یکی کمک کنه ... چرا این بخش اینقدر غیر فعاله ..!! بر خلاف بخش c# که زمانی توش بودم خیلی فعال بود..



protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
string strPrimaryKey = GridView1.DataKeys[e.RowIndex].Value.ToString();
int id = int.Parse(strPrimaryKey);

string a, delt, tem, imgname, imgpath;
a = "provider=microsoft.jet.oledb.4.0;data source=" + Server.MapPath("panasite.mdb");
OleDbConnection con = new OleDbConnection(a);
delt = "select * from service where code='" + id + "'";
OleDbCommand cmd = new OleDbCommand(delt, con);
OleDbDataReader dr;
con.Open();
dr = cmd.ExecuteReader();
dr.Read();
tem = dr["pic"].ToString();
imgname = tem.Substring(8);
imgpath = Server.MapPath(Request.ApplicationPath) + "\\service\\" + imgname;
File.Delete(imgpath);
con.Close();

}

saina2006
دوشنبه 06 مهر 1388, 17:07 عصر
دقیقا چه خطایی میده؟

bahar_engineer
سه شنبه 07 مهر 1388, 11:18 صبح
روی cmd.executereader این خطا رو می ده



Data type mismatch in criteria expression.