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 02-09-2010
Avatar de ingabraham
ingabraham ingabraham is offline
Miembro
 
Registrado: ago 2007
Posts: 614
Poder: 17
ingabraham Va por buen camino
Excluir Campos En Un Select

Select * From Tablax
Codigo
Nombre
Direccion
Estado

Quiero Que No Me Muestre El Estado,
Es Algo Asi Como

Select *,-estado From Tablax


No Quiero Esto!
Select Codigo,nombre,direccion From Tablax

Debido A Que Son Muchos Campos.
__________________
Enseñar es la virtud de un sabio.
Responder Con Cita
  #2  
Antiguo 03-09-2010
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.000
Poder: 25
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
Que yo sepa, no se puede. O pones "*" o pones los campos uno a uno. Al menos así es en el SQL normalizado. Ahora bien, no sé si el gestor que utilices permite hacerlo con alguna extensión al lenguaje, aunque lo cierto es que lo dudo.

Una posible solución es utilizar "vistas", pero creo que eso también depende del gestor.
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi!|MinGRo Game Engine
Responder Con Cita
  #3  
Antiguo 03-09-2010
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Como dice Ñuño, no tienes nada que haga lo que pides.

Lo que suele hacerse es "inventar" una opción para que la ocultar una columna en un grid, se quite la columna del select (por ejemplo), o también hacer el select * aunque no se necesite todos los campos (esto es ineficiente, pero suele ocurrir que necesitas un campo para realizar operaciones aunque el usuario no quiera verlo en una rejilla de datos.

Código Delphi [-]
var 
  campos :string;
begin 
  campos := 'select ';
  for i:= 0 to grid1.columns.count-1 do
     if grid1.columns[i].visible then campos := campos + grid1.columns[i].Field.FieldName + ', '
  grid1.dataset.sql.text := copy(campos, 1, length(campos) -2) ; //quitar la ultima coma y espacio
  grid1.dataset.sql.add('from mi tabla');
  grid1.dataset.Close;
  grid1.dataset.Open;
end;
(hecho de memoria... tendrá algun error por ahí).

En caso de que no te sirva esta opción, recuerda que también puedes iterar por Dataset.TFields, por ejemplo:
Código Delphi [-]
campos := 'select ';
for i:= 0 to dataset.fields.count-1 do
  if pos(lowercase(dataset.fields[i].fieldname), 'codigo;nombre;Direccion;estado') < 1 then campos := campos + dataset.fields[i] + ', '
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.

Última edición por Lepe fecha: 03-09-2010 a las 17:54:47.
Responder Con Cita
  #4  
Antiguo 03-06-2011
Avatar de ingabraham
ingabraham ingabraham is offline
Miembro
 
Registrado: ago 2007
Posts: 614
Poder: 17
ingabraham Va por buen camino
mostrar todos los campos excentuando un campo

hola
tengo una tabla con mas de 50 campo

SELECT * FROM CONTRATOS

ahora esto me muestra todos los campos.

pero quiero que el primer campo no me lo muestre
__________________
Enseñar es la virtud de un sabio.
Responder Con Cita
  #5  
Antiguo 04-06-2011
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
Código SQL [-]
Select Campo2, campo3, campo4, campo5.... campo50
From TuTabla
Where ....
__________________

Responder Con Cita
  #6  
Antiguo 04-06-2011
Avatar de ingabraham
ingabraham ingabraham is offline
Miembro
 
Registrado: ago 2007
Posts: 614
Poder: 17
ingabraham Va por buen camino
jeje, y asi hasta llegar al campo 50.
jeje muy gracioso.

y no son 50 campos son 105 campos.
__________________
Enseñar es la virtud de un sabio.
Responder Con Cita
  #7  
Antiguo 04-06-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
No hay otra forma, salvo que uses alguna base de datos que no nos has dicho. Lo normal es que no se pueda.
Responder Con Cita
  #8  
Antiguo 04-06-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por ingabraham Ver Mensaje
jeje, y asi hasta llegar al campo 50.
jeje muy gracioso.

y no son 50 campos son 105 campos.
La propuesta de ContraVeneno no tiene sentido irónico alguno. Desde la cláusula SELECT, no hay otro modo de hacerlo que como él te está mencionando.

Este mismo tema fué tratado el año pasado bajo el título: Excluir Campos En Un Select.


Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #9  
Antiguo 04-06-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por ecfisa Ver Mensaje
La propuesta de ContraVeneno no tiene sentido irónico alguno. Desde la cláusula SELECT, no hay otro modo de hacerlo que como él te está mencionando.
Este mismo tema fué tratado el año pasado bajo el título: Excluir Campos En Un Select.
Saludos.
Y además iniciado por la misma persona
He unido ambos hilos porque es la misma pregunta, del mismo usuario.
Responder Con Cita
  #10  
Antiguo 04-06-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Y además iniciado por la misma persona
Así es. Mi intención era recordarle, pero se me escapó lo de combinar los temas.


Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #11  
Antiguo 04-06-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por ecfisa Ver Mensaje
Así es. Mi intención era recordarle, pero se me escapó lo de combinar los temas.
Saludos.
Bueno, lo he hecho porque es el mismo usuario y no se "desvirtúa" nada el hilo
Responder Con Cita
  #12  
Antiguo 05-06-2011
Diego666 Diego666 is offline
Registrado
NULL
 
Registrado: oct 2010
Posts: 7
Poder: 0
Diego666 Va por buen camino
y por que no haces una funcion como parametros de la tabla y los campos a excluir ?
es decir abres la tabla verificas registras los campos y ademas excluyes los que desees .. afecta un poco el performance..
pero si es lo que necesitas...

Saludos
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 mostrar un IWDBGrid con todos los registros fcios Internet 1 22-01-2010 20:11:08
Como mostrar todos los campos salvanano Impresión 4 09-05-2005 01:20:55
Que band usar para mostrar todos los reg Supermagayin Impresión 0 16-04-2004 21:03:24
Mostrar todos los valores de un campo de una tabla vhirginia Conexión con bases de datos 5 25-03-2004 20:07:18
Si el parámetro es null mostrar todos jam Firebird e Interbase 5 25-11-2003 22:43:24


La franja horaria es GMT +2. Ahora son las 10:57:00.


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