none
Problemas al modificar datos RRS feed

  • Pregunta

  • Tengo un botón de editar con el siguiente código:

    Esto me funciona a la perfección.

     private void btneditar_Click_1(object sender, EventArgs e)
            {
                try
                {
                    DialogResult Opcion;
                    Opcion = MessageBox.Show("¿Realmente desea editar los registros?", "Registro De Correspondencia", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
    
                    if (Opcion == DialogResult.OK)
                    {
                        this.MensajeOK("Se actualizó correctamente el registro");
                        {
    
                            SqlCommand Comando = new SqlCommand("UPDATE Registro SET ID=@ID, FechaIngreso=@FechaIngreso, Número = @Nùmero, FechaDocumento = @FechaDocumento, FirmadoPor = @Firmado_Por, DirigidoA = @Dirigido_a, Ccp = @Ccp, Estado = @Estado, Procedencia = @Procedencia, TipoDocumento= @Tipo_Documento, Asunto = @Asunto, TurnadoA = @Turnado_a,Fechaturno = @Fecha_turno, Estatus = @Estatus, Seguimiento = @Seguimiento, Seguimiento2 = @Seguimiento2, Conclusión = @Conclusiòn, Archivado = @Archivado_en WHERE IDRegistro=@Idregistro", conectar);
    
                            Comando.CommandType = CommandType.Text;
    
                            Comando.Parameters.AddWithValue("@ID", txtno.Text);
                            Comando.Parameters.AddWithValue("@FechaIngreso", Convert.ToDateTime(txtFecha_de_Ingreso.Text));
                            Comando.Parameters.AddWithValue("@Nùmero", txtNùmero.Text);
                            Comando.Parameters.AddWithValue("@FechaDocumento", Convert.ToDateTime(txtFecha_de_Documento.Text));
                            Comando.Parameters.AddWithValue("@Firmado_Por", txtFirmado_por.Text);
                            Comando.Parameters.AddWithValue("@Dirigido_a", txtDirigido_a.Text);
                            Comando.Parameters.AddWithValue("@Ccp", txtCcp2.Text);
                            Comando.Parameters.AddWithValue("@Estado", txtEstado.Text);
                            Comando.Parameters.AddWithValue("@Procedencia", txtProcedencia.Text);
                            Comando.Parameters.AddWithValue("@Tipo_Documento", txtTipo_de_Documento.Text);
                            Comando.Parameters.AddWithValue("@Asunto", txtAsunto.Text);
                            Comando.Parameters.AddWithValue("@Turnado_a", txtTurnado_a.Text);
                            Comando.Parameters.AddWithValue("@Fecha_turno", Convert.ToDateTime(txtFecha_de_turno.Text));
                            Comando.Parameters.AddWithValue("@Estatus", txtEstatus.Text);
                            Comando.Parameters.AddWithValue("@Seguimiento", txtSeguimiento.Text);
                            Comando.Parameters.AddWithValue("@Seguimiento2", txtseguimiento2.Text);
                            Comando.Parameters.AddWithValue("@Conclusiòn", txtConclusiòn.Text);
                            Comando.Parameters.AddWithValue("@Archivado_en", txtArchivado_en.Text);
                            Comando.Parameters.AddWithValue("@Idregistro", this.txtIDCódigo.Text);
                            conectar.Open();
                            Comando.ExecuteNonQuery();
    
                            conectar.Close();
                            this.Mostrar();
                        }
                    }
                }
    
    
                catch (Exception ex)
                {
    
                    MessageBox.Show(ex.Message + ex.StackTrace);
                }
            }

    Tengo otro botón ubicado en un bindingNavigator que "hace" la función de editar con este código:

      {
    
                SqlCommand Comando = new SqlCommand("UPDATE Registro SET ID=@ID, FechaIngreso=@FechaIngreso, Número = @Nùmero, FechaDocumento = @FechaDocumento, FirmadoPor = @Firmado_Por, DirigidoA = @Dirigido_a, Ccp = @Ccp, Estado = @Estado, Procedencia = @Procedencia, TipoDocumento= @Tipo_Documento, Asunto = @Asunto, TurnadoA = @Turnado_a,Fechaturno = @Fecha_turno, Estatus = @Estatus, Seguimiento = @Seguimiento, Seguimiento2 = @Seguimiento2, Conclusión = @Conclusiòn, Archivado = @Archivado_en WHERE IDRegistro=@Idregistro", conectar);
    
                Comando.CommandType = CommandType.Text;
    
                Comando.Parameters.AddWithValue("@ID", txtid.Text);
                Comando.Parameters.AddWithValue("@FechaIngreso", Convert.ToDateTime(dt1.Text));
                Comando.Parameters.AddWithValue("@Nùmero", txt2.Text);
                Comando.Parameters.AddWithValue("@FechaDocumento", Convert.ToDateTime(dt2.Text));
                Comando.Parameters.AddWithValue("@Firmado_Por", txt3.Text);
                Comando.Parameters.AddWithValue("@Dirigido_a", txt4.Text);
                Comando.Parameters.AddWithValue("@Ccp", txt5.Text);
                Comando.Parameters.AddWithValue("@Estado", cb1.Text);
                Comando.Parameters.AddWithValue("@Procedencia", txt6.Text);
                Comando.Parameters.AddWithValue("@Tipo_Documento", txt7.Text);
                Comando.Parameters.AddWithValue("@Asunto", txt8.Text);
                Comando.Parameters.AddWithValue("@Turnado_a", cb2.Text);
                Comando.Parameters.AddWithValue("@Fecha_turno", Convert.ToDateTime(dt3.Text));
                Comando.Parameters.AddWithValue("@Estatus", txt9.Text);
                Comando.Parameters.AddWithValue("@Seguimiento", txt10.Text);
                Comando.Parameters.AddWithValue("@Seguimiento2", txt11.Text);
                Comando.Parameters.AddWithValue("@Conclusiòn", txt12.Text);
                Comando.Parameters.AddWithValue("@Archivado_en", txt13.Text);
                Comando.Parameters.AddWithValue("@Idregistro", this.txt1.Text);
                conectar.Open();
                Comando.ExecuteNonQuery();
    
                conectar.Close();
                this.Mostrar();
            }
        }
    }

    Hago exactamente lo mismo que el anterior botón pero no se edita el registro, no me marca ningún error en el código.


    miércoles, 20 de marzo de 2019 22:36

Respuestas

  • porque no lo metes dentro de un try catch ? así se vería el error...
    • Editado Viko Smith miércoles, 20 de marzo de 2019 23:47
    • Propuesto como respuesta Carlos_Ruiz_M jueves, 21 de marzo de 2019 16:05
    • Marcado como respuesta Roxane Mateos jueves, 21 de marzo de 2019 19:21
    miércoles, 20 de marzo de 2019 23:47
  • hola

    >>Tengo otro botón ubicado en un bindingNavigator que "hace" la función de editar con este código:

    porque usas un bindingNavigator  ? estos controles ya no se utilizan

    >>pero no se edita el registro, no me marca ningún error en el código.

    podrias ver si se afecta alguna row

    int rowsAfectadas = Comando.ExecuteNonQuery();
    
    if(rowsAfectadas > 0 )
    {
    	MessageBox.Show("se actualizo el registro");
    }
    

    sino ves el mensaje quiere decir que estas asignando en el WHERE un valor de IdRegistro que no encuentra ninguna row para actualizar

    podrias poner un breakpoint y ver que valor toma txt1

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Propuesto como respuesta Carlos_Ruiz_M jueves, 21 de marzo de 2019 16:05
    • Marcado como respuesta Roxane Mateos jueves, 21 de marzo de 2019 19:21
    jueves, 21 de marzo de 2019 4:57

Todas las respuestas

  • porque no lo metes dentro de un try catch ? así se vería el error...
    • Editado Viko Smith miércoles, 20 de marzo de 2019 23:47
    • Propuesto como respuesta Carlos_Ruiz_M jueves, 21 de marzo de 2019 16:05
    • Marcado como respuesta Roxane Mateos jueves, 21 de marzo de 2019 19:21
    miércoles, 20 de marzo de 2019 23:47
  • hola

    >>Tengo otro botón ubicado en un bindingNavigator que "hace" la función de editar con este código:

    porque usas un bindingNavigator  ? estos controles ya no se utilizan

    >>pero no se edita el registro, no me marca ningún error en el código.

    podrias ver si se afecta alguna row

    int rowsAfectadas = Comando.ExecuteNonQuery();
    
    if(rowsAfectadas > 0 )
    {
    	MessageBox.Show("se actualizo el registro");
    }
    

    sino ves el mensaje quiere decir que estas asignando en el WHERE un valor de IdRegistro que no encuentra ninguna row para actualizar

    podrias poner un breakpoint y ver que valor toma txt1

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Propuesto como respuesta Carlos_Ruiz_M jueves, 21 de marzo de 2019 16:05
    • Marcado como respuesta Roxane Mateos jueves, 21 de marzo de 2019 19:21
    jueves, 21 de marzo de 2019 4:57