Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-03-2007
Avatar de chrids506
chrids506 chrids506 is offline
Miembro
 
Registrado: abr 2006
Posts: 70
Poder: 19
chrids506 Va por buen camino
Revision en segundo plano de una tabla paradox

Saludos, tengo un problemita, tengo una aplicación que maneja el inventario de una bodega (de una importadora), pero necesito que mientras la aplicación se encuentre ejecutándose esta verifique la tabla de datos de productos buscando 2 cosas:
1 que la cantidad de unidades sea mayor a cero (de no ser así notificar)
2 que la cantidad de unidades sea mayor al piso (cantidad de unidades minimas establecidas al momento de agregar el producto)

quiero que esto se haga en segundo plano, pero no se como, alguna idea?


Composición de la tabla de datos: |Codigo|Nombre|Unidades|Costo|Piso|


Saludos, y gracias de antemano
Chrids
Responder Con Cita
  #2  
Antiguo 02-03-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
En segundo plano podría ser ocultandolo al usuario, por ejemplo con un timer y que se ejecute cada X segundos.

la única forma que tendrás de hacerlo es por consultas (Tquery), es lo más eficiente.

1 que la cantidad de unidades sea mayor a cero (de no ser así notificar)
Código SQL [-]
select codigo, nombre from productos where unidades <= 0
Para cada registro de esa consulta, deberás notificarlo como quieras, mediante un log, una ventanita que se abre e indica los nombres de productos, etc.


2 que la cantidad de unidades sea mayor al piso (cantidad de unidades minimas establecidas al momento de agregar el producto)
Código SQL [-]
select codigo, nombre from productos where unidades > piso
Lo mismo que antes, todos los registros que haya en esa consulta, serán los que quieres notificar.

Intuyo que no has usado un Tquery, así que pon uno en el form, establece su propiedad DatabaseName, en la propiedad sql haz clic y escribe ese código sql.

Añade un TDatasource, en su propiedad Dataset, elige el Query1.

Pon un Grid (para ver los resultados) su propiedad Datasource, que apunte a un TDatasource anterior.

Establece la propiedad Active del TQuery a true y verás los resultados incluso en tiempo de diseño.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #3  
Antiguo 02-03-2007
Avatar de chrids506
chrids506 chrids506 is offline
Miembro
 
Registrado: abr 2006
Posts: 70
Poder: 19
chrids506 Va por buen camino
Cita:
Empezado por Lepe
Añade un TDatasource, en su propiedad Dataset, elige el Query1.

Pon un Grid (para ver los resultados) su propiedad Datasource, que apunte a un TDatasource anterior.

Establece la propiedad Active del TQuery a true y verás los resultados incluso en tiempo de diseño.

Saludos
Tiempo sin verte Lepe, me agrada que estes bien, el problema es que sigo sin saber SQL, yo me conecto asi (de mente porque no tengo el código aquí):

DataModule1.DataSource1.Table1.Database := {direción}
DataModule1.DataSource1.Table1.Data := {direción}
DataModule1.DataSource1.Table1.Active

o algo así, para hacer las busquedas uso un locate, no habrá forma de hacerlo con .first, .next y la propiedad Eof? o no es recomendable?
Responder Con Cita
  #4  
Antiguo 03-03-2007
Avatar de chrids506
chrids506 chrids506 is offline
Miembro
 
Registrado: abr 2006
Posts: 70
Poder: 19
chrids506 Va por buen camino
Tengo otra pregunta, que pasa si hago un while cada X segundos, la aplicación se quedaría pagada mientras termina no?
Responder Con Cita
  #5  
Antiguo 03-03-2007
Avatar de ArdiIIa
[ArdiIIa] ArdiIIa is offline
Miembro Premium
 
Registrado: nov 2003
Ubicación: Valencia city
Posts: 1.481
Poder: 22
ArdiIIa Va por buen camino
Lo mas oportuno sería lanzar un Thread que vaya haciendo el trabajo.
En el directorio Demos\db\BkQuery tienes la aplicación BkQuery que te ilustra como hacerlo.
__________________
Un poco de tu generosidad puede salvar la vida a un niño. ASÍ DE SENCILLO
Responder Con Cita
  #6  
Antiguo 03-03-2007
Avatar de chrids506
chrids506 chrids506 is offline
Miembro
 
Registrado: abr 2006
Posts: 70
Poder: 19
chrids506 Va por buen camino
Gracias por la ayuda
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Ping en segundo plano toorbye Internet 5 19-10-2006 13:52:32
Programar en segundo plano Isako API de Windows 3 02-03-2005 14:31:20
Ayuda con Teclas en Segundo Plano Sundance Varios 12 29-08-2004 18:09:18
Ejecutar selects en segundo plano cartmanrules Firebird e Interbase 2 27-05-2004 19:08:56
Dejar una ventana en segundo plano inactiva vhirginia Varios 7 22-04-2004 13:46:43


La franja horaria es GMT +2. Ahora son las 08:38:56.


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
Copyright 1996-2007 Club Delphi