FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Usar Evento OnAfterSCroll de un TQuery?
Hola Amigos,
Tengo un Query con una consulta que me devuelve ciertos campos de una tabla "Customers" los cuales muestro en una grid, despues tengo un objeto TCustomer con su metodo "LoadFromDatabase" que carga todos los datos del customer en base al IDCustomer que tenga seleccionado en ese momento en el Registro actual del Query. Para esto en el evento OnAfterScroll del query tengo el codigo que lee el campo IDCustomer del Registro y se lo pasa como parametro al metodo LoadFromDatabase(custID) el cual devuelve el objeto con todas sus propiedades. El problema viene que esta operacion me he dado cuenta que por ejemplo cuando el query se abre o se ejecuta la sentencia, se puede llegar a realizar 3 Veces, y de momento aun no esta completado objeto con otdas sus propiedades, pero luego puede ser un proceso lento y si se repite tantas veces, no creeis que es inncesario. La pregunta es si esto se puede poner en algun otro evento o algo asi ya que quiero que me responda cuando haga Query.First, Query.Next etc., he mirado de ponerlo en el codigo del boton que dispara esto eventos pero entonces deberia añadirlo en muchos sitios mas por ejemplo cuando se haga click en la grid principal. Si se os ocurre algo mejor, si no lo dejare como esta.
__________________
Gracias de Antemano |
#2
|
||||
|
||||
Una pregunta: ¿cuál es el objeto de una operación como LoadFromDatabase? ¿No están ya los datos en el Query?
// Saludos |
#3
|
|||
|
|||
No,
En el Query, unicamente estan datos como Nombre, Nombre comercial, Nif, Fecha de Alta. (de momento estos 4). LoadfromDatabase, carga todo tipo de datos relacionados con el cliente, tipo de iva asociados, numeraciones asociadas. descuentos, documentos de venta, informes comerciales asociados, creo que es una gran cantidad de datos sensible de ser modificada en cualquier momento con lo que la informacion que obtuviesemos en el query, estaria desactualizada en cualquier momento, quitado de la gran cantidad de datos que deberiamos tener cargados en memoria en todo momento. A lo que le estoy dando vueltas desde que escribi el post, es que cargar, todo estos datos cada vez que el usuario se mueva por el registro tampoco va a ser muy eficiente, puesto que si tenemos a 5 usuarios navegando por la tabla de clientes, se llenaria el servidor con continuos accesos. Queza sea mejor opcion un Boton de "Ver Cliente" que ejecutase esta sentencia (load fromDatabase y rellenase los controles con el valor del objeto.? Es lo que se me ocurrio, si crees que no es eficaz, por favor comentamelo y miramos algo mejor....
__________________
Gracias de Antemano |
#4
|
||||
|
||||
Más o menos imaginaba algo así y creo que tú mismo ya te has contestado. Ni siquiera tienes que considerar el escenario de varios usuarios. Con uno solo que le de por moverse por el grid que muestre los datos, ya tienes un acceso a la base en cada movimiento. El botón de "Ver cliente" es, me parece, la mejor opción: sólo cargas los datos de un cliente cuando el usuario realmente los quiere ver.
// Saludos |
#5
|
|||
|
|||
No, si al final aprendere.... jeje
muchas gracias y para lo que necesiteis
__________________
Gracias de Antemano |
#6
|
|||
|
|||
Hola a todos
jorllazo tu tras realizar la consulta la muestras en un dbgid y alli seleccionas el cliente y luego pulsando el boton ver cliente t aparecen todos los datos , estoy en lo cierto?? si es asi podrias mostrarme tu consulta del query y las opciones que modificaste del dbgrid para poder seleccionar ? como se cargan los datos tras pulsar el boton de ver cliente?? con un locate sobre el codigo del cliente seleccionado? es q trato de hacer lo mismo pero para modificar, y en el dbgid me aparece una flechita negra en un registro aleatorio ( eso creo pues ni es el 1º ni el último) y solo puedo seleccionar esa fila, y tengo la opcion dgselectrow a true. gracias |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Hacer una pausa fuera del evento OnTimer y sin usar Sleep | DarkByte | Varios | 9 | 28-06-2007 04:08:00 |
Llamar evento desde otro evento | nachito_tuc | OOP | 1 | 23-08-2006 21:37:43 |
TQuery | nenufer | Conexión con bases de datos | 2 | 22-05-2006 16:41:03 |
Usar o no Usar un DBGrid | Anabel | Conexión con bases de datos | 13 | 13-01-2006 20:05:21 |
RequestLive de TQuery no puede, q mas puedo usar? | nefy | SQL | 3 | 21-06-2004 19:19:19 |
|