Ver Mensaje Individual
  #3  
Antiguo 24-04-2012
Northern Northern is offline
Miembro
 
Registrado: ene 2006
Posts: 211
Reputación: 19
Northern Va por buen camino
Cita:
Empezado por antigrondona Ver Mensaje
Hola amigos, mi problema es que utilizo los query (adoquery) en procedimientos para luego invocarlos. Como esas rutinas van en una unidad no incorporo los componentes (adoquery) a los formularios, entonces lo que quiero hacer es utilizar los query como variables locales y devolver el resultado en alguna otra. Me están dando dolores de cabeza, al compilar hay errores en memoria.
Lo que hago es más o menos lo siguiente

var
query1,query2:TADOquery; las declaro

luego las creo con query1.TADOQuery.Create(query1) y hago la consulta.

Seguro que me falta algo, además quisiera liberar la var al finalizar (query1.free), pero también me dió problemas.
Imagino que con ese "van en una unidad" te refieres a que todos los componentes no visuales de acceso a datos (TADOConnection, TDataSource, TADOTable, TADOQuery, etc. ) los colocas en el DataModule. No ?

Después enlazas esa unidad, la del DataModule, a los Forms en los que quieres consultar/editar/agregar/borrar datos.

Finalmente para acceder a los datos de la BD limpias la consulta previa, añades una consulta, preparas la consulta y la abres, entre otros detalles...

Si no lo haces así, te estás liando demasiado. Además un único TQuery vale para realizar muchísimas consultas las cuales no todas tienen que estar abiertas al mismo tiempo.

No sé, yo me replantearía eso de crear componentes de acceso a datos en tiempo de ejecución en vez de en tiempo de diseño.
Responder Con Cita