FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Adoquery sql server 2000
Saludos
Tengo un programa que recibe datos de manera continua desde un puerto serial y estoy creando la plataforma del usuario. He puesto un adoquery, datasource y adoconnection. He puesto un ttimer y en el evento ontimer he hecho un REQUERY. Mi problema es que necesito leer uno por uno los registros nuevos que llegan para generar los eventos dependiendo del tipo que sean. Ademas de que cada vez que hace un REQUERY este se va al comienzo del DBgrid. Si me pudieran dar alguna sugerencia, se los agradeceria. |
#2
|
||||
|
||||
Cita:
No se si me explico. Ej. Si el último registro leído tiene ID=205, la siguiente consulta debería ser:
Si lees tres y el último ID es el 208, la siguiente:
Y así sucesivamente. Si dicionalmente necesitas tener un Grid con todos los registros, utiliza un Query diferente al del Grid y en el del Grid sí puedes hacer un Requery para obtener los nuevos y luego un Locate para posicionarte en el que te interese.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#3
|
|||
|
|||
Muchisimas gracias por tu tiempo y tu respuesta.
La idea me parece excelente. Tengo un campo autoincrementable que se llama entradadatos. Pense que en el evento onshow del form al enviar al query al ultimo registro podia tomar el valor del registro y asignarlo a la variable. ejemplo: Código:
DataModule2.ADOqprueba.Last; buscar:=DataModule2.ADOqpruebaEntradadatos.AsInteger; Código:
DataModule2.ADOqprueba.SQL.Clear; datamodule2.ADOqprueba.SQL.Add(' SELECT * FROM CENTRAL left join acmsub on central.csid = acmsub.csid left join evento on central.evento=evento.evento where evento.activo=1 and central.entradadatos > '+ quotedstr(inttostr(buscar))); DataModule2.ADOqprueba.Open; |
#4
|
|||
|
|||
http://docs.google.com/View?docID=dj...vision=_latest
Esta es la imagen del grid de prueba que he puesto |
#5
|
||||
|
||||
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#6
|
||||
|
||||
Tal vez deberías explicar un poco mejor el problema. ¿Porqué no te funciona? ¿te da error? ¿No devuelve nada? Si da error ¿cual es?
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#7
|
|||
|
|||
lo que pasa es que me llegan muchas señales y algunas pueden llegar al mismo tiempo o en el mismo minuto. Necesito una forma de poder manejarlas una por una, sin que al llegar las nuevas se pierdan.
cuando hago el select, perfecto, me gusta mas que hacer el requery, ya que realmente lo que necesito es manejar los eventos nuevos y no traer todos los que estan en la base de datos todo el tiempo. pero no se si los bookmarks me sirvan para ello, o algun indice. Necesito alguna idea para trabajar. Última edición por luk2009 fecha: 07-04-2009 a las 06:53:36. |
#8
|
|||
|
|||
Imagenes
la de arriba es el programa que tengo funcionando de manera local, directo al puerto serial y donde tengo el problema que cuando quiero escribir una nota sobre una de las señales, si llega otra me pasa hacia esa.
La segunda imagen es del dbrid del query que puse en otra computadora para probar el funcionamiento en red. La idea es que veas como son las señales que llegan. Gracias por tu tiempo. |
#9
|
|||
|
|||
cambie nombre de usuario
Ya que me parecio mas correcto, aclaro para evitar confusiones
|
#10
|
||||
|
||||
OK.
¿Y ahora en qué punto estás? (lo siento pero me he perdido un poco...) Por un lado te llegan señales y por otro lado quieres ir procesándolas. El código o estrategia que comentamos más arriba, ¿Te funciona? ¿Puedes ir leyendo las nuevas señales?
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#11
|
|||
|
|||
detalles
hola de nuevo
El metodo del select esta perfecto porque es menos pesado que el de requery -PROBLEMA - el select esta puesto en un timer. si llegan cinco seÑales al mismo tiempo, necesito poder trabajar con cada una de ellas y con las demas que van llegando. -PROBLEMA- despues que se hace el nuevo select se van las seÑales viejas aunque obviamente ellas estan en la base de datos del servidor. -PREGUNTA -Si recibo estos datos constantemente y necesito procesarlos uno por uno, cual seria el mejor metodo. 1.- crear una tabla o vista con el cual trabajaria que podria ir llenando conel select? 2.-marcar los datos nuevos como pendientes con algun campo en la tabla en el servidor y mantener un contador y luego recuperarlos con otro select para saber lo que esta pendiente e ir trabajando con ellas Espero haberme explicado bien. Ejemplo practico: suena una alarma en robo del cliente X y luego dos segundos mas tarde suena la del cliente Y en fuego, mientras proceso la del cliente X, si llegan otros datos se pierde la del cliente Y. -pero claro esos datos estan todos en la base de datos del servidor. |
#12
|
||||
|
||||
Cita:
(1º) El qe se encarga de leer las señales y guardarlas en una tabla temporal. Sólo tiene que leer y guardar. Así con este proceso no pierdes tiempo de proceso. Sólo lee y guarda en la tabla. (2º) Otro proceso que se encarga de ir recuperando las señales guardadas en la tabla y las va procesando y eliminando. De esta forma, si llega un momento en que necesitas más potencia puedes optar por configurar varios consumidores.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
¿Cómo refrescar un registro de una adoQuery que ataca SQL Server? | socger | Conexión con bases de datos | 2 | 28-05-2008 12:59:15 |
BDE y SQL Server 2000 | pascalutn2003 | Conexión con bases de datos | 3 | 20-05-2007 23:37:16 |
Problemas conectividad instalando sql server 2000 en w2k server | ospaco69 | MS SQL Server | 1 | 16-02-2007 04:39:17 |
Exportar database sql server 2005 a sql server 2000 | ErenioDhG | Conexión con bases de datos | 1 | 29-08-2006 15:42:46 |
Ms Word 2000/97 + Ms sql server 7/2000 + almacenar - leer - actualizar Campos | jcp_nqn | Servers | 0 | 21-12-2003 01:55:14 |
|