Dudas sobre la utilización de formularios para borrar registros de la base de datos en visual basic

Hola
Tengo un formulario en que guardo registros a la base de datos, cuando guardo un registro se va llenando el datagrid. Para borrar un registro hago doble click en el datagrid del registro que quiero eliminar, y se asgno los datos del datgrid a los texbox del formulario para poder eliminar se elimina mediante el id. Pero lo que quiero hacer es que en vez de eliminar mediante el iD, me elimine el registro mediante el nombre, no se como hacerlo, dado que ya intente reemplazando la clave por nombre pero no funciona.
Hay alguna otra forma de eliminar un registro sin tener que dar doble clic al datagrid para borrar. ¿Qué nada más escriba en el texbox el nombre del registro y que lo elimine?
Gracias espero me ayudes porque ya no se como hacerlo

1 Respuesta

Respuesta
1
A ver si me entero de lo que quieres hacer, borras los registros haciendo click sobre el datagrid, y lo que quieres es tener un campo de texto en el que pones el nombre que quieres borrar y hacerlo con un botón. ¿No?
Si no es así explícamelo mejor.
Si es así claro que es posible, mediante una sentencia sql borras el registro que coincidan el campo nombre con el texbox. Pero para esto te recomiendo que a la hora de agregar datos tengas una rutina de comprobación para que no se guarden 2 registros con el mismo nombre, sino al querer borrar, según el camino que elijamos para borrar, si hay dos registros con el mismo nombre puede pasar que los borres todos los que tengan ese nombre o solo el primero que encuentre.
Detalla mejor lo que tienes y lo que quieres hacer exactamente, ya verás que fácil es.
Si, eso es exactamente lo que quiero, para no eliminarlo con la id, pero como hago esa comprobación que tu dices, por que yo tengo en mi código de eliminar en tres capas
esta es la capa de presentación
Public Sub Eliminar() Implements Metodos.Eliminar
If objArea.Persistente Then
If MessageBox.Show("Desea eliminar el registro", "Atencin", MessageBoxButtons.OKCancel) = Windows.Forms.DialogResult.OK Then
objArea.eliminar()
If Not objArea.BlnError Then
Actualizar()
Else
MsgBox("Ocurrio un error")
End If
End If
End If
End Sub 
en la capa de negocio
Public Sub Eliminar()
objPersArea.eliminar(Clave)
BlnError = objPersArea.BlnError
End Sub
en la capa de datos
Public Sub Eliminar(ByVal Clave As String)
Dim strSql As String
strSql = "Delete from area where IdArea = " & Clave
objBD.Ejecutar(strSql)
BlnError = objBD.BlnError
End Sub
Ya intente sustituir la clave por nombre pero no hace nada
Solo ejecuta la sentencia sql:
"Delete from " & NOMBRETABLA & " where " & CAMPONOMBRE & " = " & VALORNOMBRE
Donde NOMBRETABLA es el nombre de la tabla a usar, CAMPONOMBRE es el nombre del campo donde se guarda el nombre y VALORNOMBRE es el valor del NOMBRE.
Me marca error
Server: Msg 105, Level 15, State 1, Line 1
Unclosed quotation mark before the character string ' & algo
'.
Server: Msg 170, Level 15, State 1, Line 1
Line 1: Incorrect syntax near ' & algo
'.
Pon la parte del código, ya que no se que has puesto
Perdón por la demora, estuve checando el código y me equivoque yo al hacer la consulta en el query de sql, me fue de gran utilidad tu ayuda muchas gracias.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas