Foros del Web » Programando para Internet » ASP Clásico »

Recordset.Delete no funciona

Estas en el tema de Recordset.Delete no funciona en el foro de ASP Clásico en Foros del Web. Hola estoy intentando utilizar el metodo delete() pero no me borra el registro actual y tampoco me da error del servidor, asi que supongo que ...
  #1 (permalink)  
Antiguo 10/10/2006, 05:54
 
Fecha de Ingreso: septiembre-2006
Mensajes: 4
Antigüedad: 17 años, 8 meses
Puntos: 0
Recordset.Delete no funciona

Hola estoy intentando utilizar el metodo delete() pero no me borra el registro actual y tampoco me da error del servidor, asi que supongo que la sintaxis esta bien escrita:

Aqui estaría el juego de registros que he realizado en dreamweaver, y como podeis ver le he puesto para que me permita modificar.

<%
Dim ofert_act__oferta
ofert_act__oferta = "0"
If (Request.QueryString("oferta") <> "") Then
ofert_act__oferta = Request.QueryString("oferta")
End If
%>
<%
Dim ofert_act
Dim ofert_act_numRows

Set ofert_act = Server.CreateObject("ADODB.Recordset")
ofert_act.ActiveConnection = MM_BDAvant_STRING
ofert_act.Source = "SELECT * FROM vertice_avantsur.avantsur_oferta WHERE oferta_id = " + Replace(ofert_act__oferta, "'", "''") + ""
ofert_act.CursorType = 2
ofert_act.CursorLocation = 2
ofert_act.LockType = 4
ofert_act.Open()

ofert_act_numRows = 0
%>

El código en concreto donde borro el registro sería el siguiente:

<%
ofert_act.Delete
ofert_act.update 'he probado tambien update() y delete ()
%>

Espero que me podais ayudar.
Gracias de antemano.
  #2 (permalink)  
Antiguo 12/10/2006, 04:02
 
Fecha de Ingreso: octubre-2006
Mensajes: 36
Antigüedad: 17 años, 8 meses
Puntos: 0
Te recomiendo, que para borrar utilices el método execute del objeto adodb.connection, y una sentencia SQL para borrar el registro

connection.execute "DELETE vertice_avantsur.avantsur_oferta WHERE oferta_id = " + Replace(ofert_act__oferta, "'", "''") + ""

El recordset, siempre me dio problemas.
  #3 (permalink)  
Antiguo 13/10/2006, 04:05
 
Fecha de Ingreso: septiembre-2006
Mensajes: 4
Antigüedad: 17 años, 8 meses
Puntos: 0
gracias, no tuve otro remedio que hacerlo como comentabas, pero ya que asp nos proporcionaba el metodo pues me hubiera gustado conseguirlo, puesto que el codigo queda mucho más limpio
  #4 (permalink)  
Antiguo 13/10/2006, 07:04
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
Cita:
...puesto que el codigo queda mucho más limpio
, bueno, es cuestión de opiniones, en lo personal creo que DW deja en verdad código muy "sucio" (amén del nombre de variables, uso de números en lugar de constantes ADO, etc.)

Por tu problema, yo creo que más bien es el comportamiento normal del método delete:

Cita:
The Delete method is used to delete the current record or a group of records. After deleting a record, the deleted record remains current until you move to a different record.

Note: If you are in batch update mode the deletion happens when you call the UpdateBatch method.

Note: To use this method assure that the Recordset object allows record deletion.

ofert_act.CursorType = 2
ofert_act.CursorLocation = 2
ofert_act.LockType = 4
ofert_act.Open()


LockTypeEnum Values:
...
adLockBatchOptimistic 4 Optimistic batch updates. Required for batch update mode

Ojo, mucho ojo, ya ve como no estaba tan limpio , era normal que no se aplicara el delete por que así se lo especificaste.

Saludos
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




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