none
la actualizacion de un campo de una tabla me devuelve 0 RRS feed

  • Pregunta

  • hola amigos!! estoy tratando de actualizar una tabla de sql server el cual lo hace correctmente, salvo un campo que se llama id_juez de tipo integer. Éste campo guarda en la base de datos un valor de 0 (cero). a que puede deberse el error??

    muchas gracias!!!


    valeria heredia


    jueves, 20 de julio de 2017 19:29

Respuestas

  • Pon un punto de interrupción en la instrucción:

    capanegocio4.Actualizar_Resultado_x_Competencia(ResultadoFinalSeleccionado)
    

    Ejecuta la aplicación y cuando el depurador interrumpa la ejecución en la instrucción marcada revisa el valor que tiene asignado la propiedad 'Id_Juez'. Si el valor es cero -eso se espera- asegúrate haber definido correctamente la propiedad ValueMember para el control cboJuez1 para que la función SelectedValue retorne el valor esperado o muéstranos como es que enlazas los datos al desplegable.


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    viernes, 21 de julio de 2017 18:13

Todas las respuestas

  • Si posteas el código te podríamos ayudar, de lo contrario esta un tanto dificil.  Es posible que el defaul value de esa columna sea cero y no estes incluyendo correctamente esa columna.

    "Oh, the wind, the wind is blowing,through the graves the wind is blowing,Freedom soon will come; then well come from the shadows".The Partisan(Leonard Cohen) Email: me[at]geohernandez.net Blog:www.geohernandez.net

    jueves, 20 de julio de 2017 19:34
  • hola geovanny gracias por tu atencion!! la explicacion es la siguiente..a los campos Id_Juez y Dorsal los he añadido despues de tener varios registros en la tabla es por eso que hay valores nulos.

    tendre que actualizar esos valores nulos?? sera la relacion que hay con las otras tablas??

    el id_juez es de tipo entero y acepta nulos en la tabla. El campo Dorsal es tipo entero y tambien acepta nulos...no logro entender porque un campo se actualiza bien y el otro no

    perdon mi ignorancia..esto es dificil para mi...


    valeria heredia


    jueves, 20 de julio de 2017 20:23
  • ¿Podrías adjuntar el código que utilizas para realizar la actualización?, con sólo mostrar el resultado es poco probable que podamos acertar con la solución al problema.


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    viernes, 21 de julio de 2017 0:34
  • capa datos resultados_x_competencia:

     Public Sub Actualizar_Resultado_x_Competencia(ByVal id_resultado_x_competencia As Integer,
                                    ByVal id_competencia As Integer,
                                    ByVal id_atleta As Integer,
                                    ByVal serie As String,
                                    ByVal descripcion As String,
                                    ByVal valor As String,
                                    ByVal mejor As String,
                                    ByVal posicion As Integer,
                                    ByVal id_juez As Integer,
                                    ByVal dorsal As Integer)
            cn = objcon.Conectar
            cmd = New SqlCommand("Actualizar_Resultado_x_Competencia", cn)
            cmd.CommandType = CommandType.StoredProcedure

            cmd.Parameters.Add("@Id_Resultados_X_Competencia", SqlDbType.Int).Value = id_resultado_x_competencia '0
            cmd.Parameters.Add("@Id_Competencia", SqlDbType.Int).Value = id_competencia '1
            cmd.Parameters.Add("@Id_Atleta", SqlDbType.Int).Value = id_atleta '2
            cmd.Parameters.Add("@Serie", SqlDbType.VarChar).Value = serie '4
            cmd.Parameters.Add("@Descripcion", SqlDbType.VarChar).Value = descripcion
            cmd.Parameters.Add("@Valor", SqlDbType.VarChar).Value = valor '5
            cmd.Parameters.Add("@Mejor", SqlDbType.VarChar).Value = mejor
            cmd.Parameters.Add("@Posicion", SqlDbType.VarChar).Value = posicion
            cmd.Parameters.Add("@Id_Juez", SqlDbType.Int).Value = id_juez
            cmd.Parameters.Add("@Dorsal", SqlDbType.VarChar).Value = dorsal
            cn.Open()
            cmd.ExecuteNonQuery()
            cn.Close()
        End Sub

    capa negocio resultados__competencia:

      Public Sub Actualizar_Resultado_x_Competencia(ByVal rxc As CEResultados_x_Competencia)
            objrxc.Actualizar_Resultado_x_Competencia(rxc.id_resultado_x_competencia,
                                     rxc.id_competencia,
                                     rxc.id_atleta,
                                     rxc.serie,
                                     rxc.descripcion,
                                     rxc.valor,
                                     rxc.mejor,
                                     rxc.posicion,
                                     rxc.Id_Juez,
                                     rxc.Dorsal)
        End Sub

    capa entidad resultados_x_competencia:   (solo copie estas dos)

    .......

     Private _Id_Juez As Integer
        Public Property Id_Juez() As Integer
            Get
                Return _Id_Juez
            End Get
            Set(ByVal value As Integer)
                _Id_Juez = value
            End Set
        End Property

        Private _Dorsal As Integer
        Public Property Dorsal() As Integer
            Get
                Return _Dorsal
            End Get
            Set(ByVal value As Integer)
                _Dorsal = value
            End Set
        End Property

    .......

    capa presentacion resultado_x_competencia

     Shared Property ResultadoFinalSeleccionado As New CEResultados_x_Competencia

     Dim capanegocio4 As New CNResultados_x_Competencia

     Private Sub btnActualizar_Click(sender As System.Object, e As System.EventArgs) Handles btnActualizar.Click
            'btnInformeFinal.Enabled = True
            If dgvTiempos.Rows.Count > 0 Then
                Try
                    For i As Integer = 0 To dgvTiempos.Rows.Count - 1
                        ResultadoFinalSeleccionado.id_resultado_x_competencia = dgvTiempos.Rows(i).Cells.Item("Id_Resultados_X_Competencia").Value
                        ResultadoFinalSeleccionado.id_competencia = txtCodigoPlanillaCalle.Text
                        ResultadoFinalSeleccionado.id_atleta = dgvTiempos.Rows(i).Cells.Item("Id_Atleta").Value
                        ResultadoFinalSeleccionado.mejor = dgvTiempos.Rows(i).Cells.Item("Mejor").Value
                        ResultadoFinalSeleccionado.posicion = dgvTiempos.Rows(i).Cells.Item("Posicion").Value
                        ResultadoFinalSeleccionado.serie = dgvTiempos.Rows(i).Cells.Item("Serie").Value
                        ResultadoFinalSeleccionado.valor = PlanillaDeCalle.txtValor.Text
                        ResultadoFinalSeleccionado.descripcion = dgvTiempos.Rows(i).Cells.Item("Descripcion").Value
                        ResultadoFinalSeleccionado.Id_Juez = cboJuez1.SelectedValue
                        ResultadoFinalSeleccionado.Dorsal = dgvTiempos.Rows(i).Cells.Item("Dorsal").Value

                        AtletaxCompetenciaSeleccionada.id_atleta = dgvTiempos.Rows(i).Cells.Item("Id_Atleta").Value
                        AtletaxCompetenciaSeleccionada.id_competencia = txtCodigoPlanillaCalle.Text
                        AtletaxCompetenciaSeleccionada.id_resultado_competencia = dgvTiempos.Rows(i).Cells.Item("Id_Resultados_X_Competencia").Value

                        capanegocio4.Actualizar_Resultado_x_Competencia(ResultadoFinalSeleccionado)
                        capanegocio2.Actualizar_Atleta_x_Competencia(AtletaxCompetenciaSeleccionada)
                    Next
                  
                    MessageBox.Show("Los registros se han actualizado correctamente", "Actualizando registros", MessageBoxButtons.OK, MessageBoxIcon.Information)

                Catch ex As Exception
                    MsgBox("Error al actualizar los datos de la Planilla")
                End Try
            End If
            btnInformeFinal.Enabled = True
        End Sub


    valeria heredia

    viernes, 21 de julio de 2017 2:19
  • Pon un punto de interrupción en la instrucción:

    capanegocio4.Actualizar_Resultado_x_Competencia(ResultadoFinalSeleccionado)
    

    Ejecuta la aplicación y cuando el depurador interrumpa la ejecución en la instrucción marcada revisa el valor que tiene asignado la propiedad 'Id_Juez'. Si el valor es cero -eso se espera- asegúrate haber definido correctamente la propiedad ValueMember para el control cboJuez1 para que la función SelectedValue retorne el valor esperado o muéstranos como es que enlazas los datos al desplegable.


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    viernes, 21 de julio de 2017 18:13
  • buenas noches por aqui!!como estan todos?! he logrado solucionar el problema asignandole solamente el formulario donde cargo el ValueMember del juez

    ...

       ResultadoFinalSeleccionado.descripcion = dgvTiempos.Rows(i).Cells.Item("Descripcion").Value
                        ResultadoFinalSeleccionado.Id_Juez = PanilladeCalle.cboJuez1.SelectedValue
                        ResultadoFinalSeleccionado.Dorsal = dgvTiempos.Rows(i).Cells.Item("Dorsal").Value
    ......

    Nuevamente gracias por su ayuda!! (trato de ir incorporando los terminos que un programador utiliza, espero sepan entenderme).


    valeria heredia

    martes, 25 de julio de 2017 0:05