Hola:
Estoy intentando hacer un dataGrid con los botones editar, (actualizar y
cancelar) y no consigo hacer que funcione actualizar, ya que no me guarda el
nuevo valor introducido en el textbox, sino que mantiene el anterior.
Este es el código que está incluido en UpdateCommand
____________________________________________________________
/////////////////////////////////////////////////
//Recogida de variables//
////////////////////////////////////////////////
string idUsuario = (string)this.DataGrid1.DataKeys[(int)e.Item.ItemIndex];
string Nombre = ((TextBox)e.Item.Cells[2].Controls[0]).Text;
string Apellidos = ((TextBox)e.Item.Cells[3].Controls[0]).Text;
string Usuario = ((TextBox)e.Item.Cells[4].Controls[0]).Text;
string Pass = ((TextBox)e.Item.Cells[5].Controls[0]).Text;
string Pregunta = ((TextBox)e.Item.Cells[6].Controls[0]).Text;
string Respuesta = ((TextBox)e.Item.Cells[2].Controls[0]).Text;
/////////////////////////////////////////////////
//Sql de Actualización//
////////////////////////////////////////////////
string sqlUpdate = "UPDATE users SET Nombre ='"+Nombre+"', Apellidos
='"+Apellidos+"', Usuario ='"+Usuario+"', Pass ='"+Pass+"', Pregunta
='"+Pregunta+"', Respuesta ='"+Respuesta+"' WHERE Usuario='"+idUsuario+"'";
String item = ((TextBox)e.Item.Cells[2].Controls[0]).Text.ToString();
this.Response.Write("idUsuario:"+idUsuario+"Nombre: " +Nombre+"Apellidos: "+
Apellidos+"Usuario: "+Usuario+"Pass: "+Pass+"Pregunta:
"+Pregunta+"Respuesta: "+Respuesta+"SQL= "+sqlUpdate);
/////////////////////////////////////////////////
//Conexión a la base de datos//
////////////////////////////////////////////////
string strConexion @"Provider=Microsoft.Jet.OLEDB.4.0;Password="""";.
OleDbConnection conn = new OleDbConnection(strConexion);
conn.Open();
OleDbCommand Actualizar = new OleDbCommand(sqlUpdate, conn);
Actualizar.CommandType = CommandType.Text;
Actualizar.ExecuteNonQuery();
conn.Close();
DataGrid1.EditItemIndex = -1;
DataGrid1.DataBind();
Leer las respuestas