Test Foro de elhacker.net SMF 2.1

Programación => .NET (C#, VB.NET, ASP) => Programación General => Programación Visual Basic => Mensaje iniciado por: RiasChan en 10 Marzo 2018, 18:36 PM

Título: Borrado incorrecto de base de datos con Ado con el metodo rs.delete
Publicado por: RiasChan en 10 Marzo 2018, 18:36 PM
Es visual basic 6.0 (tenia un proyecto del 2007 y ho 11 años despues quise retomarlo)

Bueno resulta que tengo este codigo:

   Dim rs As ADODB.Recordset
       If Not Conectar() Then Exit Sub
       Set rs = New ADODB.Recordset
           rs.Open ("Elementos"), cn, adOpenKeyset, adLockOptimistic
           On Error Resume Next
           rs!Categoria = txtcate
           rs.Delete
           rs.Close
           rs.update
           Set rs = Nothing
           Desconectar


Elimina el registro de la base de datos, pero no el seleccionado. El registro está en el txtcate. Ahi está escrito el valor que quiero borrar de la base de datos (obviamente es un txt no modificable y son identicos). Lo que quiero es que me borre de la base de datos, el valor de ese txt.

Lo que pasa es que me borra el primer registro de la base de datos y no el que esta escrito en el txt. Comopuedo hacer para que me borre el registro seleccionado en el txt?

Ah, es la única columina de la tabla en el access, es solo 1 columna
gracias
Título: Re: Borrado incorrecto de base de datos con Ado con el metodo rs.delete
Publicado por: MCKSys Argentina en 10 Marzo 2018, 19:57 PM
Si categoria es numérico:

rs.Execute "DELETE * FROM Elementos WHERE Categoria = " + txtcate.Text

Si es string:

rs.Execute "DELETE * FROM Elementos WHERE Categoria = '" + txtcate.Text + "'"

Saludos!

PD: El * borra todos los registros que cumplan con Categoria = txtcate.Text
Título: Re: Borrado incorrecto de base de datos con Ado con el metodo rs.delete
Publicado por: RiasChan en 10 Marzo 2018, 20:08 PM
Al fin locooo, mil gracias, andubo!