FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Necesito saber el display label correcto
hola, a ver si me puedo explicar, necesito saber el display label correcto de un query, es decir si el campo se llama nombre y en el query esta escrito p.nombre (p del alias de la tabla personas) que en el display label me salga p.nombre, pues me da problemas al hacer el filtro cuando trago el nombre del campo desde el dbgridEh y hay mas de una tabla con el mismo nombre o tambien me trae el alias nombrePersona (p.nombre as nombrePersona) y no encuentra ningun campo con ese nombre.
Si no supe expresarme me lo dicen e intentare hacerlo con ejemplos graficos para darme a entender. Gracias |
#2
|
||||
|
||||
Hola pani_alex.
No sé si interpreté la situación, pero no debería existir conflicto si declaras diferentes alias para diferentes columnas. Realiza la siguiente prueba donde veras listados los diferentes alias de columnas en un ListBox: (*) Trabaja del mismo modo aplicado a una sola tabla: Claro está que los alias deberán ser distintos entre sí. Saludos
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#3
|
|||
|
|||
gracias por la respuesta.
Hasta alli todo bien pero luego uso los eventos on click de la grilla segun sobre que columna uno este posicionado y modifico el query para crear filtros (en ejecucion por medio de unos procedimientos/funciones que cree), alli comienzan los errores pues "P_ID" por ejemplo no es un campo de ninguna tabla, para poder filtar por ese campo en el query tendria q pasarle el dato "P.ID" y tampoco puedo pasarle solo "ID" porque si existe otra tabla en el mismo query con el mismo nombre el filtro queda sin efecto. Ahora en el clientDataSet teniendo todos los campos, me posiciono en uno de ellos, por ej "P_ID" que es el FielName, en el DisplayLabel tambien me carga el mismo texto pero si manualmente coloco "P.ID" todo va sobre ruedas, no hay error en nada y los filtros son aplicados sin problemas. Abria alguna forma de cargar correctamente el DisplayLabel, o de alguna manera obtener el "P.ID" DE "P_ID"? |
#4
|
||||
|
||||
Hola pani_alex.
No me sucede eso usando alias de columnas, para salir de dudas hace una prueba similar a esta, en mi caso ordena correctamente de acuerdo al alias de la columna seleccionada. Saludos
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#5
|
|||
|
|||
Me da column unknown, solo si uso "T1.NOMBRE" funciona, tampoco son "NOMBRE" solo si es q dos tablas tienen el mismo nombre de campo
|
#6
|
||||
|
||||
Hola pani_alex.
Me parece que es una cuestión de sintáxis relacionada con el tipo de componente y base de datos que estas usando. Entonces la pregunta, ¿ Que gestor de base de datos y que componentes de conexión para conectarte a ella estas usando ? Saludos
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#7
|
|||
|
|||
Pensando un poco lo q quiero se podria llamar "como obtener el campo de un alias y el alias de la tabla de un campo", lo del campo de un alias calculo se podria sacar simplemente analizando el texto sql, creo q hare la funcion, pero como podria saber por ej:
select t1.*, t2.* from tabla1 t1, tabla2 t2 donde t1 tiene el campo nombre y t2 tambien, "nombre" de que tabla... creo q tengo una idea de como hacerlo, voy a trabajar en ello |
#8
|
||||
|
||||
Hola pani_alex.
Como te comenté la sintáxis puede variar levemente de acuerdo a los componentes de conexión/gestor que estés usando, si no das mas información... Saludos
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#9
|
|||
|
|||
dbExpress
sqlConnection->SqlQuery->DataSetProvider->ClientDataSet->DataSource->dbGrithEh base de datos firebird 2.5 dialecto 1 pero las pruebas tambien las hago en el flamerobin |
#10
|
||||
|
||||
Hola pani_alex.
Acabo de reproducir el caso a excepción del componente dbGrithEh que no uso. Es decir: SQLConnection -> SQLQuery -> DataSetProvider -> ClientDataSet -> DataSource -> DbGrid. Te pongo la prueba que hice y me funciona correctamente en Firebird 2.5: espero puedas sacar algo de ella. Tal vez el componente dbGrithEh se comporte de modo diferente que el componente por defecto de Delphi (TDBGrid). Saludos
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#11
|
|||
|
|||
realmente no lo se pero en el flamerobin tampoco hace caso cuando no se coloca el alias delante de los campos...
dejo aqui mi primer procedimiento aparentemente funcional de lo q estaba buscando, por si a alguien le sea de probecho
recien hoy lo hice funcionar en lo que probe, pero tiene limitaciones, no se puede usar *, se deben escribir todos los campos y no detecta campos muy complicados, como los de los case y otros, la parte de desarrollo es solo para ver lo q hace por dar un ejemplo, esto es lo q hace, recorre los field del clientdataset y busca en el query el campo con su alias al que pertenece y este es el resultado ID_PERSONA - U.ID_PERSONA ID_CAJA - U.ID_CAJA ID_USUARIO - U.ID_USUARIO ID_SUCURSALAGENCIA ADMINISTRADOR - U.ADMINISTRADOR LOGIN - U.LOGIN DESCRIPCION - SA.DESCRIPCION CLAVE - U.CLAVE ROOT - U.ROOT CORREO - U.CORREO AUTORIZATIPOCAMBIO - U.AUTORIZATIPOCAMBIO OMITEDECLARACIONJURADA - U.OMITEDECLARACIONJURADA MONTOMAXIMOAUTORIZACION - U.MONTOMAXIMOAUTORIZACION AUTORIZACLIENTE - U.AUTORIZACLIENTE AUTORIZADOCUMENTOCLIENTE - U.AUTORIZADOCUMENTOCLIENTE ESTADO - U.ESTADO CODIGO - SA.CODIGO DESSUCURSALAGENCIA - SA.DESCRIPCION CLAVEAUTORIZACIONES - U.CLAVEAUTORIZACIONES VARIACIONPERMITIDATIPOCAMBIO - U.VARIACIONPERMITIDATIPOCAMBIO CODCAJA - C.CODIGO CAJANUMERADOR DESCAJA AUTORIZAACTOSYDOC - U.AUTORIZAACTOSYDOC ID_IMPRESORA - U.ID_IMPRESORA AUTORIZAIMPRESION - U.AUTORIZAIMPRESION MONTOVARIACIONPERMITIDA - U.MONTOVARIACIONPERMITIDA AUTORIZAANULACION - U.AUTORIZAANULACION AUTORIZAAPERTURA - U.AUTORIZAAPERTURA AUTORIZACIERRE - U.AUTORIZACIERRE AUTORIZASALDOS - U.AUTORIZASALDOS ID_USUARIO_INSERTA - U.ID_USUARIO_INSERTA ID_USUARIO_MODIFICA - U.ID_USUARIO_MODIFICA FECHAALTA - U.FECHAALTA FECHABAJA - U.FECHABAJA AUTORIZAOTRODIA - U.AUTORIZAOTRODIA AUTORIZAPRECIOPIZARRA - U.AUTORIZAPRECIOPIZARRA SEMAFORO - U.SEMAFORO |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
No me dibuja en un label en el tiempo correcto | noob | Varios | 5 | 11-02-2009 23:15:38 |
como saber que .dll's necesito en mi aplicacion? | federiconqn21 | Varios | 2 | 15-09-2006 22:14:57 |
necesito saber cosas | hecla | Varios | 1 | 30-06-2006 22:04:26 |
ayuda, necesito saber 2 instrucciones SQL | manolop | Firebird e Interbase | 2 | 16-05-2005 12:03:50 |
Necesito Saber Donde Lo Descargo!! | condor | Varios | 17 | 21-05-2004 20:48:50 |
|