Событие при обновлении строки в GridView в ASP.NET
я ВГА GridView в моей aspx-странице ....я уже привязать значения из MySQL в виде таблицы ...я хочу, чтобы обновить значения в GridView и мои обновленные значения обновляются в MySQL...я пыталась много раз, но мои ценности не могут получить обновление в MySQL..это мой aspx и aspx-файл.в CS pleaselet кодирования я знаю Ват я сделал ошибку ВГА.....
using System; using System.Configuration; using System.Data; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; using MySql.Data.MySqlClient; using System.IO; public partial class _Default : System.Web.UI.Page { MySqlConnection con = new MySqlConnection("user id=root; password=admin; database=qms; server=localhost"); protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) bind(); } public void bind() { con.Open(); string q = "select * from exam"; MySqlDataAdapter da = new MySqlDataAdapter(q, con); DataSet ds = new DataSet(); da.Fill(ds, "emp"); GridView1.DataSource = ds; GridView1.DataBind(); //con.Close(); } protected void Button1_Click(object sender, EventArgs e) { bind(); } protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e) { GridView1.EditIndex = e.NewEditIndex; bind(); } protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e) { GridView1.EditIndex = -1; bind(); } protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e) { GridViewRow row = (GridViewRow)GridView1.Rows[e.RowIndex]; int id = Int32.Parse(GridView1.DataKeys[e.RowIndex].Value.ToString()); TextBox tname = (TextBox)row.FindControl("nam"); TextBox tques = (TextBox)row.FindControl("que"); MySqlCommand cmd = new MySqlCommand("update exam set name1=@name,ques=@ques where id = @id", con); cmd.Parameters.Add("@id", MySqlDbType.Int16).Value = id; cmd.Parameters.Add("@name", MySqlDbType.VarChar, 30).Value = tname.Text.Trim(); cmd.Parameters.Add("@ques", MySqlDbType.VarChar,40).Value = tques.Text.Trim(); con.Open(); cmd.ExecuteNonQuery(); GridView1.EditIndex = -1; bind(); }
m@dhu
Вы получаете какую-нибудь ошибку? И всегда закрывайте соединение, когда вы его открываете.
shanthikalai
Обратные вызовы не поддерживаются в TemplateField, поскольку некоторые элементы управления не могут должным образом обновляться в обратном вызове. Выключите обратные вызовы на 'GridView1'.
я получил эту ошибку
AKS94
это не работает.
это дает ошибку, что-индекс равен 0.
AKS94
я получил ошибку
Индекс был вне зоны досягаемости. Должен быть неотрицательным и меньше размера коллекции.
Имя параметра: индекс