Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Uso de Recordset.Delete(arCurrent) (https://www.clubdelphi.com/foros/showthread.php?t=51578)

saldanaluis 19-12-2007 21:03:41

Uso de Recordset.Delete(arCurrent)
 
Estimados amigos del foro.
Estoy tratando de eliminar algunos de los registros que se obtienen con un TADOQuery dependiendo de los resultados de unos calculos en cada uno de los registros del recordset.
Recorro cada uno de los registros y voy efectuando los calculos necesarios. Si la condicion se cumple entonces ejecuto
TADOQuer1.Recordset.Delete(arCurrent);
Pero me marca error con 'arCurrent' en donde se menciona que no esta definida.
¿que le tengo que añadir al codigo para que lo identifique? Me imagino que tengo que añadir algo en el 'uses...'
Lo que quiero lograr es elimiar los registros del recordset para que no los muestre en un DBGrid, pero no quiero que lo elimine de la base de datos.
¿Estoy haciendo lo correcto?
Gracias por sus amables respuestas.
:confused:

Caral 19-12-2007 22:06:32

Hola
No conozco el sistema pero segun lo que veo pertenece a ADODB, por lo que si usas ado no necesitas nada mas en el uses.
TAffectRecords-AdoDb.pas.
Saludos

saldanaluis 19-12-2007 23:12:12

Gracias por la respuesta.
En el uses le alladí 'ADODB tal como lo mencionaste. Ahore el error que me devuelve el otro. Este otro error dice:
'[Error] UPendPago.pas(60): Incompatible types: 'TOleEnum' and 'TAffectRecords'
Buscaré a que se refiere. Aparentemente el delete está esperando algo del tipo TOleEnum.
Si saben algo de esto les agradecería su comentario.
Muchos saludos.

tefots 19-12-2007 23:30:31

que yo sepa desde delphi , al usar un tadoquery , para borrar el registro actual has de llamar a adoquery1.delete directamente.

saludos.

jachguate 20-12-2007 00:54:25

Lo que en realidad querés es el filtrado de la tabla.

Esto en delphi, podes hacerlo programando un evento "OnFilterRecord" sobre el ADOQuery y poniendo su propiedad Filtered a True.

En el evento OnFilterRecord, devolves True si el registro será visible, o False si no lo será.

Hasta luego.

;)


La franja horaria es GMT +2. Ahora son las 19:17:55.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi