سلام من می خوام توی پنل مدیریتی برای ویرایش عکس می خوام اول عکس قبلیو از دیتا بیس و پوشه تصاویر حذف بشه و تصویرو جدید آپلود کنم
کوئری دیلت که می نویسم کل اون سزر حدف میشه
اپدیت نوشتم و تصویرو null گذاشتم اررور داد
می شه راهنمایی کنید؟
سلام من می خوام توی پنل مدیریتی برای ویرایش عکس می خوام اول عکس قبلیو از دیتا بیس و پوشه تصاویر حذف بشه و تصویرو جدید آپلود کنم
کوئری دیلت که می نویسم کل اون سزر حدف میشه
اپدیت نوشتم و تصویرو null گذاشتم اررور داد
می شه راهنمایی کنید؟
سلام ، تو دیتا بیست تو ستون عکس تیک allow null فعاله؟
فرمت VARBINARY max ?
cmd.Parameters.AddWithValue("@staff_photo", DBNull.Value);
cmd.Parameters.AddWithValue("@staff_photo", string.empty);
سلام اولا یه تصویر به هراسم دلخواه(عکس پیش فرض) درپوشه ات باید باشه که چک کنه اگه اون نبود تصویر اصلی رو جایگزین کنه دوما تو دیتابیس تیک ستون عکست بزار باشه سوما nvachar 50 بزار ودر ادامه تو دگمه حذف که کنارش یه تکست باشه که عنوان خبر رو از تکست بگیره و با عنوان جدولت مقایسه کنه این کدو اعمال کنبا اینکار عکست از پوشه حذف میشه ولی آدرسش هنوز تو بانکت هست خب حالا میریم سراغ وارد کردن آدرس جدید عکس تو دیتابیس و قرار دادن تو پوشه یه فایل آپلود با یه تکست کنارش با یه باتن که عنوان خبررو بگیره این کدهارو تو دگه به روز کردن آدرس عکس وقراردادن تو پوشه اعمال میکنی.کد HTML:try { SqlConnection con = new SqlConnection(conn); SqlCommand cmd = new SqlCommand("select * from TB_News where Title='" + txtRemov.Text + "'", con); con.Open(); SqlDataReader dr = cmd.ExecuteReader(); dr.Read(); string title = dr["Title"].ToString(); string name = dr["Pic"].ToString(); con.Close(); if ((title == txtRemov.Text) && (name != "1.jpg")) File.Delete(Server.MapPath("News//") + name); Label1.Text = " عکس پاک شد"; } catch { Label1.Text = " برای حذف عکس وارد کردن عنوان خبر الزامیست! "; }
موند دوتا نکته کوچول سعی کن عکستبه همون اندازه ای که میخوائی نشون داده بشه باشه دوما اسم عکست فارسی نباشه که اکپرا موقع خواندن از دیتابیس بعضی وقتها خطا میده نمینتونه فارسی رو بخونه (تجربه شخصی)کد HTML:try { if (txtUp.Text != "") { string News = MapPath("1.jpg"); if (FileUpload2.HasFile) { News = FileUpload2.FileName; FileUpload2.SaveAs(Server.MapPath("News//") + News); } SqlConnection con = new SqlConnection(conn); SqlCommand cmd = new SqlCommand("update TB_News set Pic='" + FileUpload2.FileName + "' where Title='" + txtUp.Text + "'", con); con.Open(); cmd.ExecuteNonQuery(); con.Close(); Label1.Text = " عکس به روز شد"; } else { Label1.Text = " عنوان خبر را وارد کنید"; } } catch { Label1.Text = " برای تغییر عکس خبرعنوان خبر را واردکنید"; }
آخرین ویرایش به وسیله sasanrstm : جمعه 08 شهریور 1392 در 02:36 صبح
موفق باشی سوالی داشتی بازم بپرس. منتظر خبرای خوبی هستم.
int id = Convert.ToInt32(Session["id"]);
DataRow dr = DataLayer.gallery.SelectRow(id).Tables[0].Rows[0];
txtTitle.Text = dr["titr"].ToString();
txtDescription.Text = dr["text"].ToString().Replace("<br/>", "\n");
دوستان این کد تو یه برنامه کاملا درست جواب میده ولی توی برنامه دیگه error میده من چیکار کنم؟
واسه همون ویرایشه
There is no row at position 0.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.IndexOutOfRangeException: There is no row at position 0.
Source Error:
Line 126: { Line 127: int id = Convert.ToInt32(Session["id"]); Line 128: DataRow dr = DataLayer.gallery.SelectRow(id).Tables[0].Rows[0]; Line 129: txtTitle.Text = dr["titr"].ToString(); Line 130: txtDescription.Text = dr["text"].ToString().Replace("<br/>", "\n");
Source File: f:\Rezvan\Admin\Ax.aspx.cs Line: 128
اولا در مورد این کد که نوشتی توضیح بده که چیکار می خواد بکنه بعدش منکه اون بالا نوشتم باید یهت کست باکس بزاری تو اون تکست درست همون عنوانی یا موضوعی حالا بستگی به خودت داره کدوم فیلد وانتخاب کنی وارد تکست میکنی شرط ودقت کن من شر ط گذاشتم که جدول رو یا همون آدرس عکسو رو عضو کنه به شرطی که عنوان یا تایتل جدولم همونی باشه که تو تسکت باکس وارد میکنمیه خرده با کدها بازی کن مهم اینست که کد منو کپی کنی بزاری تو برنامت مهمه اینکه جریان کار دستت بیادکد HTML:SqlCommand cmd = new SqlCommand("update TB_News set Pic='" + FileUpload2.FileName + "' where Title='" + txtUp.Text + "'", con);
تکست باکسی که من عنوان خبرم رو اونجا وارد میکنم اگه مال شما خطا میده حتما عنوان رو درست وارد نمیکنی . ممکنه موقع نوشتن فاصله داده باشی اون باید تو تکست وارد کنی دیگهtxtUp.Text
اینهمه ام که شما حس کردید خنگ نیسم
نه من کاملا متوجه کدتون شدم و بر اساس تیتر کد شمارو نوشتم
و در مورد کدم میاد محتویات تکست باکسارو می خونه و میریزه توی دیتا بیس و جایگزین قبلیا می کنه ولی مگه id که اولین فیلد دیتا بیس من هست نباید کدش Rowp[0 ] باشه؟
ببخش قصدم توهین نبود و سوال آخری تون رو متوجه نشدم منظورتون چیه فقط اینو میدونم اگه کلماتی که تو تسکت وارد میکنی با کلماتی که تو بانکت وجود داره برابر نباشه خطا میده من خودم برای اینکه این خطا رخ نده وقتی دگمه ویرایش گرید رو میزنم ومیریزم تو تکست ها تکست تایتل رو کپی میکنم میزارم تو تکست بروز کردن تا متنش همونی باشه که تو جدول هست. خودم با این روش کار میکنم مشگلی هم بوجود نمیاد.
آخرین ویرایش به وسیله sasanrstm : جمعه 08 شهریور 1392 در 19:38 عصر
مرسی منظورم این نبود که توهین کردین
مرسی باز تلاشمو می کنم
واسه منم این جوریه