C # — Кнопка обновления не обновляется

#c# #sql #database

#c# #sql #База данных

Вопрос:

C # — Кнопка обновления не обновляется

Как уже упоминалось. При нажатии кнопки обновления после внесения изменений страница перезагружается, но не обновляется в SQLDB. Я только начинаю программировать и хотел бы получить небольшую помощь.

 protected void Button2_Click(object sender, EventArgs e)
    {
        SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["BiodiversityProject"].ConnectionString);
        conn.Open();

        //See above comments
        string image_folder = Server.MapPath("~\uploadedimages\");
        string dbfilename1 = GridView1.SelectedRow.Cells[6].Text.ToString();
        string dbfilename2 = GridView1.SelectedRow.Cells[7].Text.ToString();

        if (VideoFileUpload.HasFile)
        {
            string filename1 = VideoFileUpload.FileName.ToString();
            VideoFileUpload.SaveAs(image_folder   filename1);
            dbfilename1 = filename1;
        }

        string multimedia_folder = Server.MapPath("~\uploaded_multimedia\");

        if (VideoFileUpload.HasFile)
        {
            string filename2 = VideoFileUpload.FileName.ToString();
            VideoFileUpload.SaveAs(multimedia_folder   filename2);
            dbfilename2 = filename2;
        }
        //string connectionString = null;
        //int userId = 0;

        SqlCommand UpdateCommand = new SqlCommand("UPDATE LeagueTable SET BirdName = @p1, Quantity = @p2, Place = @p3, Location =@p4, Image = @p5, mediaclip =  @p6, Username = @p7, datetime = @p8, Active Status= @p9 WHERE Bird_ID = "   GridView1.SelectedDataKey.Value.ToString());

        UpdateCommand.Parameters.Add(new SqlParameter("@p1", System.Data.SqlDbType.VarChar)).Value = TextBox1.Text.ToString();
        UpdateCommand.Parameters.Add(new SqlParameter("@p2", System.Data.SqlDbType.VarChar)).Value = TextBox2.Text.ToString();
        UpdateCommand.Parameters.Add(new SqlParameter("@p3", System.Data.SqlDbType.VarChar)).Value = DropDownList2.SelectedValue.ToString();
        UpdateCommand.Parameters.Add(new SqlParameter("@p4", System.Data.SqlDbType.VarChar)).Value = txtlocation.Text.ToString();
        UpdateCommand.Parameters.Add(new SqlParameter("@p5", System.Data.SqlDbType.VarChar)).Value = dbfilename1.ToString();
        UpdateCommand.Parameters.Add(new SqlParameter("@p6", System.Data.SqlDbType.VarChar)).Value = dbfilename2.ToString();
        UpdateCommand.Parameters.Add(new SqlParameter("@p7", System.Data.SqlDbType.VarChar)).Value = User.Identity.Name;
        UpdateCommand.Parameters.Add(new SqlParameter("@p8", System.Data.SqlDbType.VarChar)).Value = DateTime.Now.ToShortDateString().ToString();
        UpdateCommand.Parameters.Add(new SqlParameter("@p9", System.Data.SqlDbType.VarChar)).Value = DropDownList1.SelectedValue.ToString();

        try
        {
            conn.Open();
            UpdateCommand.ExecuteNonQuery();
            conn.Close();
        }
        catch (Exception)
        {

        }

        GridView1.DataBind();
 

Комментарии:

1. во-первых, ГДЕ Bird_ID = » GridView1.SelectedDataKey. Значение. toString()); сделайте параметризацию, ГДЕ Bird_ID = @PAR_BIRDID и добавьте новые параметры UpdateCommand . Параметры. Добавить(новый параметр SqlParameter(«@PAR_BIRDID», System.Data.SqlDbType.VarChar)). Значение = GridView1.SelectedDataKey. Значение. toString(); что такое ошибка?

2. вероятно, происходит исключение, и ваш пустой catch скрывает его. Вы также должны переместить conn. Закрыть() до finally { }

3. catch (исключение ex) { MessageBox. Показать (например, сообщение); }

4. Как уже упоминалось, catch(Exception ex) затем поместите точку останова в блок catch и посмотрите на исключение.

5. Кстати, зачем использовать параметры везде, кроме WHERE Bird_ID = " GridView1.SelectedDataKey.Value.ToString() ?