Как удалить изображение из папки приложения и удалить имя файла (имя изображения) из базы данных?
namespace CrudOperationOutside { public partial class StudentRegistration : System.Web.UI.Page { static string CS = ConfigurationManager.ConnectionStrings["DBCS"].ConnectionString; SqlConnection con = new SqlConnection(CS); SqlCommand cmd; SqlDataAdapter da; DataSet ds; protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { bindQualification(); BindGender(); bindHobbies(); bindGrid(); Clear(); } } protected void btnSave_Click(object sender, EventArgs e) { string HOB = ""; for (int i = 0; i < cblHobbies.Items.Count; i++) { if (cblHobbies.Items[i].Selected == true) { HOB += cblHobbies.Items[i].Text + ","; } } HOB = HOB.TrimEnd(','); // Get file name from file upload control. string FN = Path.GetFileName(fuStudentImage.PostedFile.FileName); if (btnSave.Text == "Save") { // Save images to Application images folder fuStudentImage.SaveAs(Server.MapPath("StudentImages" + "\\" + FN)); SqlCommand cmd = new SqlCommand("sp_Student_Insert", con); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@SName", txtName.Text); cmd.Parameters.AddWithValue("@SAge", txtAge.Text); cmd.Parameters.AddWithValue("@GID", rblGender.SelectedValue); cmd.Parameters.AddWithValue("@QID", ddlQualification.SelectedValue); cmd.Parameters.AddWithValue("@Hobbies", HOB); cmd.Parameters.AddWithValue("@SFileName", FN); con.Open(); int Total = cmd.ExecuteNonQuery(); if (Total > 0) { lblMessage.Text = "Record is saved successfully"; } con.Close(); bindGrid(); Clear(); } else { con.Open(); SqlCommand cmd = new SqlCommand("sp_Student_Update", con); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@SID",ViewState["SID"]); cmd.Parameters.AddWithValue("@SName", txtName.Text); cmd.Parameters.AddWithValue("@SAge", txtAge.Text); cmd.Parameters.AddWithValue("@GID", rblGender.SelectedValue); cmd.Parameters.AddWithValue("@QID", ddlQualification.SelectedValue); cmd.Parameters.AddWithValue("@Hobbies", HOB); if (FN != "") { cmd.Parameters.AddWithValue("@SFileName", FN); File.Delete(Server.MapPath("StudentImages" + "\\" + ViewState["FileName"])); fuStudentImage.SaveAs(Server.MapPath("StudentImages" + "\\" + FN)); } else { cmd.Parameters.AddWithValue("@SFileName", ViewState["FileName"]); } cmd.ExecuteNonQuery(); con.Close(); } bindGrid(); } void bindGrid() { if (con.State == ConnectionState.Closed) { con.Open(); } cmd = new SqlCommand("select student.SID, student.SName, student.SAge, Gender.GName,Qualification.QName, student.Hobbies, student.SFileName from student join Gender on student.GID = Gender.GId join Qualification on student.QID = Qualification.QId", con); da = new SqlDataAdapter(cmd); ds = new DataSet(); da.Fill(ds); if (ds.Tables[0].Rows.Count > 0) { grdStudentDetails.DataSource = ds; grdStudentDetails.DataBind(); } con.Close(); } void BindGender() { con.Open(); cmd = new SqlCommand("select * from Gender", con); ; da = new SqlDataAdapter(cmd); ds = new DataSet(); da.Fill(ds); if (ds.Tables[0].Rows.Count > 0) { rblGender.DataSource = ds; rblGender.DataValueField = "GID"; rblGender.DataTextField = "GName"; rblGender.DataBind(); } con.Close(); } void bindQualification() { con.Open(); cmd = new SqlCommand("select * from Qualification", con); ; da = new SqlDataAdapter(cmd); ds = new DataSet(); da.Fill(ds); if (ds.Tables[0].Rows.Count > 0) { ddlQualification.DataSource = ds; ddlQualification.DataValueField = "QId"; ddlQualification.DataTextField = "QName"; ddlQualification.DataBind(); } con.Close(); } void Clear() { txtName.Text = ""; txtAge.Text = ""; btnSave.Text = "Save"; } protected void grdStudentDetails_RowCommand(object sender, GridViewCommandEventArgs e) { if (e.CommandName == "EDT") { con.Open(); SqlCommand cmd = new SqlCommand("usp_Student_Edit", con); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@SID", e.CommandArgument); SqlDataAdapter da = new SqlDataAdapter(cmd); DataSet ds = new DataSet(); da.Fill(ds); if (ds.Tables[0].Rows.Count > 0) { txtName.Text = ds.Tables[0].Rows[0]["SName"].ToString(); txtAge.Text = ds.Tables[0].Rows[0]["SAge"].ToString(); rblGender.SelectedValue = ds.Tables[0].Rows[0]["GID"].ToString(); ddlQualification.SelectedValue = ds.Tables[0].Rows[0]["QID"].ToString(); string[] arr = ds.Tables[0].Rows[0]["Hobbies"].ToString().Split(','); cblHobbies.ClearSelection(); for (int i = 0; i < cblHobbies.Items.Count; i++) { for (int j = 0; j < arr.Length; j++) { if (cblHobbies.Items[i].Text == arr[j]) { cblHobbies.Items[i].Selected = true; break; } } } ViewState["FileName"] = ds.Tables[0].Rows[0]["SFileName"].ToString(); ViewState["SID"] = e.CommandArgument.ToString(); btnSave.Text = "Update"; } con.Close(); } else if (e.CommandName == "DLT") { con.Open(); SqlCommand cmd = new SqlCommand("usp_Registration_Delete", con); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@RID", e.CommandArgument); cmd.ExecuteNonQuery(); con.Close(); } } } } <asp:TemplateField HeaderText="Action">
Что я уже пробовал:
Когда я удаляю изображение из папки изображений, оно не удаляет имя файла из базы данных?
Спасибо.
ZurdoDev
Отладьте его. Что происходит?
Adityakumar2318
Я не понимаю, как удалить файл, когда я нажимаю (на кнопку Удалить)? А где писать код?