none
Como guardar un elemento eliminado de mi dataview RRS feed

  • Pregunta

  • Hola,

    Llevo días tratando de solucionar este pequeño obstáculo que tengo, Puedo eliminar mi elemento de DataView, El dato ingresado esta almacenado en mi sql server y tengo en este caso "Idcliente como Primary key cosa que no es posible de eliminar el dato ingreso, pero yo tratando de usar mi logica, con el siguiente codigo trato de "Eliminar" el dato ingresa en este caso el producto, pero solo lo oculto, y al momento de cerrar la pestaña y abrirla me aparece nuevamente el dato como que el procedimiento no lo guardo

    Private Sub Eliminar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Eliminar.Click
            Dim estilo = MsgBoxStyle.YesNo Or MsgBoxStyle.DefaultButton2 Or MsgBoxStyle.Question
            Dim m = MsgBox("Realmente deseas eliminar el registro.", estilo, Title:="Advertencia")
            If m = 6 Then
                Dim loFila As DataGridViewRow = Me.DataGridView1.CurrentRow()
                DataGridView1.Rows.Remove(loFila)
                Me.DataGridView1.Update()
                MsgBox("Registro eliminado.!", MsgBoxStyle.Information + MsgBoxStyle.OkOnly, "Administrador")
            End If
        End Sub


    domingo, 16 de septiembre de 2018 3:24

Respuestas

  • Hola. 

    Si estás usando SQL como almacenamiento de tus datos, en el código que pones no veo ningún procedimiento o función enlazada a un procedimiento almacenado en la bd.

    Para realizar la interacción de tu aplicación con la bd lanzas los procedimientos directamente o usas procedimientos almacenados? Poné tu código con el cual cargas los datos y te puedo pasar código orientado a tu aplicación.

    Para eliminar un registro de la base de datos, tenes que mandarle un delete * from mitabla where argumento=@argumento etc etc..

    • Marcado como respuesta Pablo Rubio martes, 2 de octubre de 2018 14:55
    lunes, 17 de septiembre de 2018 3:23
  • Gracias por responder Dynamicuy, Los datos son cargados del sql se guarda todo el registro que cree en el, y tengo vision de esos campos por el datagridview.

    Aqui te dejo unas fotos para que veas lo que sucede

    http://img.fenixzone.net/a/zg7UZ5X/

    Aquel link podras ver el procedimiento que hace el codigo de texto que puse un principio, es algo logico al momento de  cerrar la ventana el procedimiento se borrara, ya que lo eliminar visualmente pero no en la base de datos, ahora como hago para que guarde aquel procedimiento de delete.

    Agradezco de Antemano

    • Marcado como respuesta Pablo Rubio martes, 2 de octubre de 2018 14:55
    martes, 18 de septiembre de 2018 11:58
  • Hola Elias.

    Como estuvo diciendo el compañero, si deseas eliminar un registro en una base de datos, necesitas un procedimiento almacenado o una instrucción SQL en donde elimines el producto, de la misma forma como estas ingresando el producto a la base de datos.

    Por Ejemplo

    Dim Message as String 
    Dim myConnection as SqlConnection 
    Dim mySqlCommand as SqlCommand 
    Dim mySqlCleanup as SqlCommand 
    
    myConnection = new SqlConnection("server=(local)\SQLSERVER;Trusted_Connection=yes;database=northwind") 
    
    'Ejemplo insertar un registro
    mySqlCommand = new SqlCommand("INSERT INTO Customers (CustomerId, CompanyName, ContactName, ContactTitle, Address) Values ('ABC','ABC Company', 'John Smith', 'Owner','One My Way')", myConnection) 
    
    'Ejemplo eliminar un registro
    mySqlEliminar = new SqlCommand("DELETE FROM Customers WHERE CustomerId = 'ABC'", myConnection) 
    
    try 
    'Abrir conexion SQL
    myConnection.Open() 
    
    'Ejecutar comando SQL Eliminar
    mySqlEliminar.ExecuteNonQuery() 
    
    'Ejecutar Comando SQL insertar
    mySqlCommand.ExecuteNonQuery() 
    
    catch myException as Exception 
    Message= "No se pudo insertar el registro: " + myException.ToString() 
    finally 
    myConnection.Close() 
    end try 
    
    Console.Write(Message) 
    esto es un ejemplo sencillo, lo recomendable seria que usaras procedimientos almacenados.


    Alexander Jimenez

    • Marcado como respuesta Pablo Rubio martes, 2 de octubre de 2018 14:55
    martes, 18 de septiembre de 2018 13:10

Todas las respuestas

  • Hola. 

    Si estás usando SQL como almacenamiento de tus datos, en el código que pones no veo ningún procedimiento o función enlazada a un procedimiento almacenado en la bd.

    Para realizar la interacción de tu aplicación con la bd lanzas los procedimientos directamente o usas procedimientos almacenados? Poné tu código con el cual cargas los datos y te puedo pasar código orientado a tu aplicación.

    Para eliminar un registro de la base de datos, tenes que mandarle un delete * from mitabla where argumento=@argumento etc etc..

    • Marcado como respuesta Pablo Rubio martes, 2 de octubre de 2018 14:55
    lunes, 17 de septiembre de 2018 3:23
  • Gracias por responder Dynamicuy, Los datos son cargados del sql se guarda todo el registro que cree en el, y tengo vision de esos campos por el datagridview.

    Aqui te dejo unas fotos para que veas lo que sucede

    http://img.fenixzone.net/a/zg7UZ5X/

    Aquel link podras ver el procedimiento que hace el codigo de texto que puse un principio, es algo logico al momento de  cerrar la ventana el procedimiento se borrara, ya que lo eliminar visualmente pero no en la base de datos, ahora como hago para que guarde aquel procedimiento de delete.

    Agradezco de Antemano

    • Marcado como respuesta Pablo Rubio martes, 2 de octubre de 2018 14:55
    martes, 18 de septiembre de 2018 11:58
  • Hola Elias.

    Como estuvo diciendo el compañero, si deseas eliminar un registro en una base de datos, necesitas un procedimiento almacenado o una instrucción SQL en donde elimines el producto, de la misma forma como estas ingresando el producto a la base de datos.

    Por Ejemplo

    Dim Message as String 
    Dim myConnection as SqlConnection 
    Dim mySqlCommand as SqlCommand 
    Dim mySqlCleanup as SqlCommand 
    
    myConnection = new SqlConnection("server=(local)\SQLSERVER;Trusted_Connection=yes;database=northwind") 
    
    'Ejemplo insertar un registro
    mySqlCommand = new SqlCommand("INSERT INTO Customers (CustomerId, CompanyName, ContactName, ContactTitle, Address) Values ('ABC','ABC Company', 'John Smith', 'Owner','One My Way')", myConnection) 
    
    'Ejemplo eliminar un registro
    mySqlEliminar = new SqlCommand("DELETE FROM Customers WHERE CustomerId = 'ABC'", myConnection) 
    
    try 
    'Abrir conexion SQL
    myConnection.Open() 
    
    'Ejecutar comando SQL Eliminar
    mySqlEliminar.ExecuteNonQuery() 
    
    'Ejecutar Comando SQL insertar
    mySqlCommand.ExecuteNonQuery() 
    
    catch myException as Exception 
    Message= "No se pudo insertar el registro: " + myException.ToString() 
    finally 
    myConnection.Close() 
    end try 
    
    Console.Write(Message) 
    esto es un ejemplo sencillo, lo recomendable seria que usaras procedimientos almacenados.


    Alexander Jimenez

    • Marcado como respuesta Pablo Rubio martes, 2 de octubre de 2018 14:55
    martes, 18 de septiembre de 2018 13:10