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 21-12-2006
Avatar de sitrico
[sitrico] sitrico is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Caracas, Venezuela
Posts: 295
Poder: 21
sitrico Va por buen camino
Consulta SQL con "banderas"

Estoy diseñando una aplicación y se me ocurrio usar 2 tablas, una con una lista de eventos con un campo de status (IDStatus) y otra con con el valor del IdStatus y su descripcion, algo más o meno así:

Tabla1:

Código Delphi [-]
Nombre          IDStatus
VarChar(20)    Integer
--------------------------
Juan              1
Pedro             2
Jose              3
...

Tabla2
Código Delphi [-]
IDStatus         Descripcion
Integer          VarChar(20)
--------------------------
1                  Citado
2                  Cita Adelantada
4
8
16
....

El problema es que en el caso de la tabla1 el valor (Jose,3) el 3 DEBE indicar que el status es 1 y 2 (en realidad 1 y 2 lógico (1+2))

La consulta seria algo como:
Código SQL [-]
Select * from tabla1 a, Tabla2 B
Where a.IdStatus AND b.IdStatus = b.IdStatus

Temo que no se pueda pero por lo menos quisiera intentarlo.

Gracias

PD por ahora pruebo "conceptos" con tablas paradox pero la idea es usar firebird, pero aun no lo manejo tanto como quisiera .
__________________
Sitrico
Responder Con Cita
  #2  
Antiguo 21-12-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
En paradox pincho, en Firebird, es cuestión de usar una UDF que ya está hecha:
Cita:
Empezado por langref.pdf of Interbase 6
bin_and
Returns the result of a binary AND operation performed on the two input values.
DECLARE EXTERNAL FUNCTION BIN_AND
INTEGER, INTEGER
RETURNS INTEGER BY VALUE
ENTRY_POINT ’IB_UDF_bin_and’ MODULE_NAME ’ib_udf’;
Por tanto quedaría algo así como:
Código SQL [-]
Select * from tabla1 a, Tabla2 B
Where bin_and(a.IdStatus, b.IdStatus) = b.IdStatus

No he pensado mucho en el tema, simplemente he encontrado la función que pedías.

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 21-12-2006
Avatar de sitrico
[sitrico] sitrico is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Caracas, Venezuela
Posts: 295
Poder: 21
sitrico Va por buen camino
Red face

Gracias lepe, aparentemente la función hace exactamente lo que necesito, aunque por lo que lei esta en las UDF (no se exactamente que es eso ) parece que hay que instalar la librería ó llamarla desde el firebird eso es lo de menos.

Gracias nuevamente
__________________
Sitrico
Responder Con Cita
  #4  
Antiguo 21-12-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Instala IB Expert (version personal gratuita), es el equivalente al Database Desktop (bueno... no se puede hacer comparaciones... pero bahh, queda dicho).

Se trata de incluir todas las funciones de la biblioteca ib_udf.sql a tu base de datos.
Desde IB Expert, con tu base de datos abierta, abres el "Script Executive" abres el archivo de la carpeta donde tienes instalado Firebird\UDF\ib_udf.sql clic Pulsas en "Run Script" y listo ya tendrás disponibles 26 funciones adicionales en Firebird.

UDF = User Defined Functions. Tú mismo en delphi, creas una dll con un par de funciones dentro y después las exportas, creando por ejemplo esa función bin_add.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
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
Ventana MDI, "Siempre visible" y "Pantalla completa" ixMike API de Windows 7 11-04-2007 18:36:55
¿cuál es mejor: "close" o "application.terminate"? unreal4u Varios 5 05-03-2007 11:01:19
"ChequeaEsto" elegido el futuro "Killer CLubDelphi" mamcx Noticias 51 31-10-2006 20:56:32
porque no me reconoce los caracteres "*" ni "%" cuando filtro mrmago Conexión con bases de datos 10 27-01-2006 04:21:16


La franja horaria es GMT +2. Ahora son las 16:42:49.


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