none
Error "currency violation: the deletedcommand affected 0 of the expected 1 records" RRS feed

  • Pregunta

  • Buenas Tardes

     

    Tengo el siguiente error "currency violation: the deletedcommand affected 0 of the expected 1 records" al momento de querer eliminar un registro, si alguien me puede ayudar con alguna idea de poder solucionarlo se lo agradeceria

     

    Saludes

    • Cambiado Enrique M. Montejo miércoles, 21 de septiembre de 2011 17:37 acceso a datos (De:Lenguaje VB.NET)
    miércoles, 21 de septiembre de 2011 3:02

Todas las respuestas

  • hola

    ese mensaje se genera cuando seguramente al usar un TablaAdapter y eliminareste no afecta ningun registro, o sea la query no produce ñla eliminacion de ninguna row

    si en algun punto pones el AcceptChanges() quita esa linea
    saludos

    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    miércoles, 21 de septiembre de 2011 3:31
  •  La eliminacion de los registorlo hago por medio de un procedimiento almacenado, que la llamo por un data set en una base de datos MySQL este es el codigo que desarrolle.

     

        Protected Overrides Sub Mandar_a_Eliminar()
           
            Try
                Me.Registro = Me.ListadoGridView.GetRowCellValue(ListadoGridView.FocusedRowHandle, "NombreConocido")
                If MessageBox.Show(String.Format("¿Eliminar Categoria {0}?", Registro), "Confirmar Eliminacion", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) = Windows.Forms.DialogResult.Yes Then
                    ListadoGridView.DeleteSelectedRows()
                    CategoriasBindingSource.EndEdit()
                    CategoriasTableAdapter.Update(InventarioDS.Categorias)
                End If
            Catch ex As Exception
                Dim _st As New System.Diagnostics.StackTrace()
                Dim _miFuncion As String = _st.GetFrame(0).GetMethod().Name
                Mi.ErrorMensaje(ex.Message, _miFuncion, Me.Name, True)
            End Try
        End Sub

    miércoles, 21 de septiembre de 2011 3:36
  • bueno como comente estas usando un TableAdapter en tun caso de nombre CategoriasTableAdapter

    este seguro al detectar la eliminacion de una row del

    InventarioDS.Categorias

    procede a invocar al SP, pero seguramente si los parametros se pasan incorrectamente no pueda eliminar el registro por eso las row afectadas son cero y muestre el error

     

    saludos

     


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    miércoles, 21 de septiembre de 2011 3:44
  • Gracias por el apoyo, el SP esta bien lo probe y elmina el registro correctamente con el parametro que puse este es el script del SP

     

    BEGIN
    DELETE FROM
      `categorias`
    WHERE
      `PkCategoria` = p01_pk
    ;
    END

     

    revisare el TA para ver si puedo solucionar este error

     

    Gracias

    miércoles, 21 de septiembre de 2011 3:49
  • pero y el parametro donde estaria ?

    ademas como le defines este en el query del tableadapter usa ?

    mejor digo has validdo que el tableadapter usa un proveedor para mysql y que la query que se define pasa el parametro de forma correcta

    esto lo plenteo porque si estas seguro que el SP funciona entonces el problema es en la asignacion del parametro que apsa el valor desde el codigo

    recuerda que los parametros en la query se definen con ?, no van con @ que es lo que usa sql server

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    miércoles, 21 de septiembre de 2011 4:29