Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-01-2007
chetos7 chetos7 is offline
Miembro
 
Registrado: ene 2007
Posts: 15
Poder: 0
chetos7 Va por buen camino
Como sustituir un valor durante una consulta para mostrarlo en un dbgrid

Hola, yo otra vez, es que tengo otra duda. Tengo una tabla de libros donde sus campos son IdLibro, Titulo, Autor...StatusL, donde el status es 0 para disponible y 1 para prestado. Aqui esta el asunto, quiero que mi consulta la muestre en un dbgrid, lo cual ya hace, pero pues en status me pone un 0 o 1, lo cual esta bien, ya que pido que me ponga el valor, pero quiero que me muestre en el dbgrid "Disponible" cuando su status sea 0 y "Prestado" cuando su status sea 1,. en lugar de 0 y 1, pero nada mas para mostrar, sin que el valor en la tabla se altere.Se puede y como puedo hacer mi consulta?
Gracias de antemano
Responder Con Cita
  #2  
Antiguo 15-01-2007
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Añade un campo calculado de tipo texto y en el evento OnCalcFields pones el código que compare el contenido del campo real para pasar al calculado el texto que corresponde "Disponible" o "Prestado".

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #3  
Antiguo 15-01-2007
richi richi is offline
Miembro
 
Registrado: jun 2006
Ubicación: Portosin - A Coruña
Posts: 51
Poder: 18
richi Va por buen camino
Tambien si lo deseas lo puedes poner en el SELECT de la consulta.
En caso de ser access seria:
Código SQL [-]
IIF([status]='0','Disponible','Prestado') AS SABER_STATUS
En caso de ser oracle seria:
Código SQL [-]
decode(STATUS,0,'Disponible',1,'Prestado') SABER_STATUS

Para el resto de base de datos no se como seria.
Responder Con Cita
  #4  
Antiguo 15-01-2007
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
En Paradox no quedaría más remedio que crear el campo calculado ya que no admite la sentencia IIF., Con Firebird si funcionaría....

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #5  
Antiguo 15-01-2007
ASAPLTDA ASAPLTDA is offline
Miembro
 
Registrado: jun 2003
Ubicación: COLOMBIA-CALI
Posts: 639
Poder: 21
ASAPLTDA Va por buen camino
hola

disculpa no tenego ejmplo pero en firbird 1.5 existe el case
Responder Con Cita
  #6  
Antiguo 15-01-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Otra opción sería usar la propiedad DisplayValues del campo status. DisplayValues consiste de dos valores separados por ;. El primer valor es para los valores false y el segundo para los true.

Otra forma, si se quiere usar SQL, es así:

Código SQL [-]
select
substring('disponibleprestado' from 10*cast(status as numeric) + 1 for 10)
from tabla

que vale también para Paradox.

// Saludos
Responder Con Cita
  #7  
Antiguo 15-01-2007
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Siempre me gustaron las soluciones ingeniosas y al amigo Román hay que darle matrícula de honor.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #8  
Antiguo 16-01-2007
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Un pequeño problema con "DisplayValues", no es aplicable a los campos de tipo caracter, ni numéricos, si se quiere utilizar esta opción, un pequeño cambio:

Código SQL [-]
select Cast(Estado as Boolean) as NuevoNombre
From MiTabla

Román, sigue con matrícula.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
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
como cojo el valor de la consulta del count serhasae SQL 11 30-09-2006 04:29:58
Cómo asignar un valor a una celda de un DBGrid bellota Varios 9 20-06-2006 20:55:29
Como sustituir variables en SQL erasmorc SQL 5 19-10-2005 08:48:25
como asignar un valor a una columna en un dbgrid Shidalis Varios 4 18-07-2005 23:50:46
Como hayar el valor de un campo con un DBgrid? bustio OOP 5 13-01-2005 20:40:53


La franja horaria es GMT +2. Ahora son las 01:37:34.


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