Hacer mascaras en consultas sql.
Buenos dias:
estoy haciendo una seleccion de unos proyectos hechos en mi aplicativo pero tengo una duda: los datos que me imprime son algo asi: Código:
cod_proyecto ///// volumen ///// peso Gracias, esta es mi consulta sql, uso interbase 6.
|
Desconozco si IB tiene algún tipo de condicional. En MySql, podrías hacer:
Mira a ver si IB tiene condicionales. Otra opción es dejar la consulta como está y Utilizar el evento OnGetText del dataset para que muestre los valores que deseas. // Saludos |
Saludos
Tambien podrias probar con CASE Ahi tienes para escoger, las dos son validas! |
Gracias
Cita:
Cita:
Cita:
|
Cita:
Cita:
|
No lo pude hacer desde ib asi que hice mi reporte normal pero le inserte la siguiente formula y listo me quedo hecho:
Código:
IIF ({Query.PESO} = 1,'Si','No') |
Puedes probar mediante un store procedure...
Y este ya lo puedes usar:
Saludos... |
Algo complicado ¿no? A veces me sorprende la facilidad con que algunas cosas se pueden hacer en MySql. :)
Va otra opción, quizá ésta sí funcione en IB:
// Saludos |
Esa también es otra opción, solo que requiere que se agregue la UDF substring a la base de datos... :)
Saludos... |
¡No inventes! :D
¿Por qué es tan complicado IB? Je, je, bueno, sería ridículo de mi parte ponerme a criticar IB pero me gustaría entender la filosofía que hay detrás. ¿Por qué funciones tan elementales (según yo) no vienen por defecto en el lenguaje? // Saludos |
Pues quien sabe... es algo que hasta ahora todavía no entiendo... Tal vez es así para apegarse lo más posible al estándar SQL92, no se, podría ser cualquier cosa... jejeje
Saludos... |
Mmmm.. Hubiera jurado que substring era parte del standard.
// Saludos |
Las funciones que soporta IB son: AVG, CAST, COUNT, EXTRACT, GEN_ID, MAX, MIN, SUM y UPPER. Esto lo saqué de la documentación de la versión 7.
La función substring no está soportada, y solo se puede hacer usando la UDF substr. Saludos... |
store procedure perfect ¡¡¡¡ :) lo probe mas no lo implemente en mi reporte dado que como lo explique anteriormente es muy facil desde crystal reports, y como dice roman para que complicarce si existen maneras mas sencillas para solucionar mi caso, claro, un store procedure podria ser mas optimo para otros casos
|
Prueba la consulta que hace uso de la UDF, es más simple de implementar... jejeje
|
Te prometo que lo intentare :)
|
el_barto
De tu último mensaje eliminé la cita al código de maeyanes. Te pido que no cites mensajes completos, hace más difícil la lectura. |
Cita:
Cuando manejas esta clase de condiciones por medio de Store Procedures, Views o cualquer caso y que la BD puede hacerlo, es mejor dejarselo a ella. La respuesta que doy es muy simple. Qué pasaria si de repente te dicen que necesita hacerse una reestructuración de todo el programa o se necesita hacer otra aplicación en un lenguaje diferente para trabajar los mismos datos en la misma BD. Pues ya no tendrías que volver a codificar este tipo de operaciones en la otra aplicación pues ya las tienes dentro de la misma BD. Solo tendrías que llamarlas. Ademas, cuando se trabaja con grandes volumenes de información, es mejor dejar todo el asunto de integridad referencial, updates, commits, rollbacks y todas esas cosas a la BD y no tratar de controlarlas desde nuestra aplicación..... despues de todo, para que un negocio funcione cada quien debe de hacer su trabajo, y si la BD nos puede ahorrar dolores de cabeza tratando de contener posibles errores en la BD pues hagamoslo. :p |
Cita:
Trabajo pesado habrá de ambos lados, aplicación y servidor. Cita:
Cita:
// Saludos |
En eso tienes toda la razón. Es incoherente tratar de controlar algo que no sabes si se va apresentar o no.
Quizas el error mio fue darle un enfoque basado en experiencia propia. Por lo regular trabajo con sistemas de esta indole y es más sencillo realizar este tipo de "maniobras". :) |
La franja horaria es GMT +2. Ahora son las 22:18:31. |
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