Principales respuestas
Como guardar un elemento eliminado de mi dataview

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
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
-
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
-
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
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
-
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
-
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