Foros del Web » Programación para mayores de 30 ;) » .NET »

datagridview borrar fila

Estas en el tema de datagridview borrar fila en el foro de .NET en Foros del Web. tengo este código que funciona de miedo para borrar una fila del datagridview...pero .... pero.... no me la borra de la base de datos...cuando vuelvo ...
  #1 (permalink)  
Antiguo 19/05/2011, 13:47
 
Fecha de Ingreso: noviembre-2010
Ubicación: madrid
Mensajes: 478
Antigüedad: 13 años, 5 meses
Puntos: 5
Pregunta datagridview borrar fila

tengo este código que funciona de miedo para borrar una fila del datagridview...pero .... pero.... no me la borra de la base de datos...cuando vuelvo a abrir el datagrid todo lo borrado vuelve a aparecer...me ayudaissss=?=

If MsgBox("Desea borrar la fila seleccionada?.", MsgBoxStyle.YesNo Or MsgBoxStyle.Information Or MsgBoxStyle.DefaultButton2, "Eliminar Fila") = MsgBoxResult.Yes Then
DgFacturas.Rows.RemoveAt(DgFacturas.CurrentRow.Ind ex)
DgFacturas.Refresh()
End If
  #2 (permalink)  
Antiguo 19/05/2011, 14:20
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: datagridview borrar fila

Holaaaaaaaaaa!!! lo que tendrias que hacer es generar una consulta de borrado asi como generas una de ingreso, en la cual le pases su identificador unico y con ese identificador lo elimines con un where y finalmente llames el listado de tu tabla.
Código SQL:
Ver original
  1. DELETE FROM Tutabla WHERE id = 'xxxxxx'
Saludos Guille. .
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #3 (permalink)  
Antiguo 19/05/2011, 14:35
 
Fecha de Ingreso: noviembre-2010
Ubicación: madrid
Mensajes: 478
Antigüedad: 13 años, 5 meses
Puntos: 5
Respuesta: datagridview borrar fila

hola super aquaaaaaaaaaaaaaaaaaaaa que alegría leerte por el foro amigo...sin ti la vida no tiene sentido.....jajajajaja gracias por responder, mira he hecho lo que me dices...pero....pero....pero....borro una línea y me funciona bien...borro otra y bien...inserto una y deja de borrar hasta que cierro el formulario y vuelvo a abrirlo...quiere decir no puedo insertar nada si no deja de borrar...mira el código

Public Sub borralineagrid()
Dim RowIndex = DgFacturas.CurrentRow.Index
Dim objDR As DataGridViewRow = DgFacturas.CurrentRow

comando.Connection = conexion
comando.CommandText = "Delete From LineasFacturas Where Id = @Pts"
comando.Parameters.AddWithValue("@Pts", (DgFacturas.CurrentRow.Cells(14).Value))
conexion.Open()
comando.ExecuteNonQuery()
conexion.Close()
conectagrid()
End Sub
  #4 (permalink)  
Antiguo 19/05/2011, 14:39
 
Fecha de Ingreso: noviembre-2010
Ubicación: madrid
Mensajes: 478
Antigüedad: 13 años, 5 meses
Puntos: 5
Respuesta: datagridview borrar fila

si uso este otro código pasa lo mismo

Dim adapt As New OleDbDataAdapter
Dim setda As New DataSet

comando.Connection = conexion
comando.CommandText = "Delete From LineasFacturas Where Id = @Pts"
comando.Parameters.AddWithValue("@Pts", (DgFacturas.CurrentRow.Cells(14).Value))
adapt.SelectCommand = comando
adapt.Fill(setda, "LineasFacturas")
'conexion.Open()
'comando.ExecuteNonQuery()
'conexion.Close()
conectagrid()
  #5 (permalink)  
Antiguo 19/05/2011, 14:41
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: datagridview borrar fila

si quieres ver tu resultado, despues de eliminar has una consulta nuevamente de tu listado de tu tabla de manera que te refresca la grilla.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #6 (permalink)  
Antiguo 19/05/2011, 14:43
 
Fecha de Ingreso: noviembre-2010
Ubicación: madrid
Mensajes: 478
Antigüedad: 13 años, 5 meses
Puntos: 5
Respuesta: datagridview borrar fila

si si...n me expliqué bien...la consulta ya existe, si te fijas conectagrid() al final es la consulta que refresca la grilla, el problema es que elimino la línea...se ve como se elimina...y cuando quiero borrar otra...no me deja, me obliga a cerrar el formulario y volverlo a abrir para poder seguir borrando
  #7 (permalink)  
Antiguo 19/05/2011, 14:46
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: datagridview borrar fila

te lanza alguna excepcion, error...?
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #8 (permalink)  
Antiguo 19/05/2011, 14:47
 
Fecha de Ingreso: noviembre-2010
Ubicación: madrid
Mensajes: 478
Antigüedad: 13 años, 5 meses
Puntos: 5
Respuesta: datagridview borrar fila

eso es lo peor...no manda ningún error, simplemente no me borra más que una vez y luego si no cierro el formulario y vuelvo a abrirlo no borra más....
  #9 (permalink)  
Antiguo 19/05/2011, 14:49
 
Fecha de Ingreso: noviembre-2010
Ubicación: madrid
Mensajes: 478
Antigüedad: 13 años, 5 meses
Puntos: 5
Respuesta: datagridview borrar fila

mira esta es lo que recarga la grilla
Public Sub conectagrid()

Dim adapta2 As New OleDbDataAdapter
Dim datavacio As New DataSet

Dim comados = conexion.CreateCommand
comados.CommandType = CommandType.Text
'Try
comados.CommandText = "SELECT RefProveedor,Plu,NomProducto,NUnidades,FormatoComp ra,Cantidad,PtsUndsCompra,Dto,PtsBotella,TipoIva,T otalLinea,UndsCompra,FechaCaduca,IdCaduca,Id From LineasFacturas"

adapta2.SelectCommand = comados
adapta2.Fill(datavacio, "LineasFacturas")

'aquí cargo el datasource y el datamenber del datagrid
DgFacturas.DataSource = datavacio
DgFacturas.DataMember = "LineasFacturas"
'DgFacturas.Refresh()

' Catch

'aspecto del datagridview
DgFacturas.DefaultCellStyle.SelectionBackColor = Color.Gold
DgFacturas.AlternatingRowsDefaultCellStyle.BackCol or = Color.Khaki
DgFacturas.DefaultCellStyle.BackColor = Color.Beige
' en alto de la celda....DataGridView1.RowTemplate.Height = 14
DgFacturas.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells

'conexion.Close()

End Sub
  #10 (permalink)  
Antiguo 19/05/2011, 14:52
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: datagridview borrar fila

cuando eliminas.... lo eliminas por el campo ID o por el PLU de LineasFacturas? verifica eso.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #11 (permalink)  
Antiguo 19/05/2011, 14:57
 
Fecha de Ingreso: noviembre-2010
Ubicación: madrid
Mensajes: 478
Antigüedad: 13 años, 5 meses
Puntos: 5
Respuesta: datagridview borrar fila

por el ID SEGURO SEGURO
  #12 (permalink)  
Antiguo 19/05/2011, 14:58
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: datagridview borrar fila

No puedo ver el error... colocame TODO el codigo de eliminado
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #13 (permalink)  
Antiguo 19/05/2011, 15:00
 
Fecha de Ingreso: noviembre-2010
Ubicación: madrid
Mensajes: 478
Antigüedad: 13 años, 5 meses
Puntos: 5
Respuesta: datagridview borrar fila

Private Sub BBorraFila_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BBorraFila.Click
borralineagrid()
End Sub
'borra linea seleccionada en el datagridview
Public Sub borralineagrid()
Dim adapt As New OleDbDataAdapter
Dim setda As New DataSet

comando.Connection = conexion
comando.CommandText = "Delete From LineasFacturas Where Id = @id"
comando.Parameters.AddWithValue("@id", (DgFacturas.CurrentRow.Cells(14).Value))
adapt.SelectCommand = comando
conexion.Open()
comando.ExecuteNonQuery()
conexion.Close()
conectagrid()

End Sub



Public Sub conectagrid()

Dim adapta2 As New OleDbDataAdapter
Dim datavacio As New DataSet

Dim comados = conexion.CreateCommand
comados.CommandType = CommandType.Text
'Try
comados.CommandText = "SELECT RefProveedor,Plu,NomProducto,NUnidades,FormatoComp ra,Cantidad,PtsUndsCompra,Dto,PtsBotella,TipoIva,T otalLinea,UndsCompra,FechaCaduca,IdCaduca,Id From LineasFacturas"

adapta2.SelectCommand = comados
adapta2.Fill(datavacio, "LineasFacturas")

'aquí cargo el datasource y el datamenber del datagrid
DgFacturas.DataSource = datavacio
DgFacturas.DataMember = "LineasFacturas"
'DgFacturas.Refresh()

' Catch

'aspecto del datagridview
DgFacturas.DefaultCellStyle.SelectionBackColor = Color.Gold
DgFacturas.AlternatingRowsDefaultCellStyle.BackCol or = Color.Khaki
DgFacturas.DefaultCellStyle.BackColor = Color.Beige
' en alto de la celda....DataGridView1.RowTemplate.Height = 14
DgFacturas.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells

'conexion.Close()

End Sub
  #14 (permalink)  
Antiguo 19/05/2011, 15:01
 
Fecha de Ingreso: noviembre-2010
Ubicación: madrid
Mensajes: 478
Antigüedad: 13 años, 5 meses
Puntos: 5
Respuesta: datagridview borrar fila

recuerda, elimina una línea cuando se abre el form, pero después con el form abierto ya no deja eliminar más, para poder seguir eliminando hay que cerrar el formulario y volverlo a abrir
  #15 (permalink)  
Antiguo 19/05/2011, 15:06
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: datagridview borrar fila

si puedes entra al msn quiero hacerle un seguimiento, o usa los break point y verifica a que parte de tu codigo no entra al momento de hacer click por segunda vez en el borrado.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #16 (permalink)  
Antiguo 19/05/2011, 15:12
 
Fecha de Ingreso: noviembre-2010
Ubicación: madrid
Mensajes: 478
Antigüedad: 13 años, 5 meses
Puntos: 5
Respuesta: datagridview borrar fila

estoy en el msn
  #17 (permalink)  
Antiguo 20/05/2011, 08:54
 
Fecha de Ingreso: diciembre-2010
Mensajes: 63
Antigüedad: 13 años, 3 meses
Puntos: 5
Respuesta: datagridview borrar fila

saludos, viendo tu codigo y todo , te diria por ke mejor no le haces un update a tu base de datos asi:


adapta2.Update(datavacio)
datavacio.AcceptsChanges
y asi culkier cambio ke hagas en tu datagri se har en la base de datos
y lo unico ke tienes ke ver es ke la consulta triga un campo primario
  #18 (permalink)  
Antiguo 21/05/2011, 13:33
 
Fecha de Ingreso: noviembre-2010
Ubicación: madrid
Mensajes: 478
Antigüedad: 13 años, 5 meses
Puntos: 5
Respuesta: datagridview borrar fila

voy a probarlo, muchas gracias
  #19 (permalink)  
Antiguo 21/05/2011, 13:38
 
Fecha de Ingreso: noviembre-2010
Ubicación: madrid
Mensajes: 478
Antigüedad: 13 años, 5 meses
Puntos: 5
Respuesta: datagridview borrar fila

nada, no me funciona, mira, el tema es este, tengo este código, te lo paso, funciona bien, borra la línea que selecciono, pero solo una, cuando quiero borrar otra, nada, ni da error ni nada de nada, simplemente no borra más...si cierro el form y lo vuelvo a abrir...borra otra vez una sola línea y no vuelve a borrar...el código

Me.DgFacturas.RefreshEdit()
Dim adapt As New OleDbDataAdapter
Dim setda As New DataSet

comando.Connection = conexion
comando.CommandText = "Delete From LineasFacturas Where Id = @id"
comando.Parameters.AddWithValue("@id", (DgFacturas.CurrentRow.Cells(14).Value))

conexion.Open()
comando.ExecuteNonQuery()
conexion.Close()
Me.Refresh()
DgFacturas.Refresh()
conectagrid()
  #20 (permalink)  
Antiguo 21/05/2011, 20:24
 
Fecha de Ingreso: diciembre-2010
Mensajes: 63
Antigüedad: 13 años, 3 meses
Puntos: 5
Respuesta: datagridview borrar fila

quita el from y solo pon

comando.CommandText = "Delete LineasFacturas Where Id = @id"
__________________
En la vida siempre encontraras a alguien inferior y Superior a ti
  #21 (permalink)  
Antiguo 22/05/2011, 03:46
 
Fecha de Ingreso: noviembre-2010
Ubicación: madrid
Mensajes: 478
Antigüedad: 13 años, 5 meses
Puntos: 5
Respuesta: datagridview borrar fila

entonces me da este error
Error de sintaxis (falta operador) en la expresión de consulta 'LineasFacturas Where Id = @id'.
buafff. no lo doy conseguido

Etiquetas: borrar, datagridview, fila
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 08:32.