Foro de elhacker.net

Programación => 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:

Código:
    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:

Código:
rs.Execute "DELETE * FROM Elementos WHERE Categoria = " + txtcate.Text

Si es string:

Código:
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!