FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#61
|
||||
|
||||
Buenísima la idea, lo he probado y funciona perfectamente .... ... ... peeerooooo... ... ... no me sirve
No puedo usar un procedimiento almacenado porque en pantalla el usuario selecciona una serie de opciones de filtro y el select sql se crea dinámicamente No se me ocurre cómo pasar ese select a un procedimiento, salvo crear el procedure dinámicamente, lanzarlo y borrarlo después. Hacer un "create or alter procedure"... ... ... puede ser
|
#62
|
||||
|
||||
Dicho a bote pronto, ¿no puedes hacer un procedimiento almacenado al que le pases como parámetros los filtros que escoge el usuario?
// Saludos |
#63
|
||||
|
||||
Cita:
Para tener el conjunto de datos. Saludos, |
#64
|
||||
|
||||
Sí, en teoría, sí. El caso es que tengo ya la cabeza como un bombo dándole vueltas a esto desde hace varios días, voy a comer algo y desenchufo un rato, a ver si después lo veo más claro.
Gracias!!!!!! |
#65
|
||||
|
||||
Mejorando código....
Es un gasto de memoria, es cierto. Pero la solución en el código es una simplificación de la solución primera propuesta por delphius. Aún no funciona? Dinos que esto ya lo tomamos como reto EDITO: Aclaro que GrupoImpar es una variable global privada Última edición por Chris fecha: 06-01-2011 a las 23:33:58. |
#66
|
||||
|
||||
Hola de nuevo.
No quiero ser pesado, pero ya lo comenté en un post anterior. Se hace un procedimiento almacenado y se llama al mismo poniendo la where que se quiera, ya que puede ser invocado como una tabla o query. esta where puede ser montada 'al vuelo'. Llamadas
Espero que sea de utilidad. Saludos Aupa Casi, no desfallezcas ahora !!
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino - |
#67
|
||||
|
||||
Cita:
Saludos, Chris |
#68
|
||||
|
||||
Huelo que estamos llegando a tocarlo con la punta de los dedos...
Casi lo tenemos ...
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino - |
#69
|
||||
|
||||
Cita:
Prueba y evalúa las opciones. Si tienes problemas nos avisas y le caemos a madrazos a tu jefe y/o cliente por ese requerimiento Si te funciona, ya sabes... me envías un jamón (la pata entera, por supuesto) por correo Saludos, |
#70
|
||||
|
||||
si es así en horabuena, se esta siendo rogar...
__________________
Aleca |
#71
|
||||
|
||||
Repasando el hilo completo, Delphius ya daba el 80 % de la solución cuando en su post adjuntaba el código del procedimiento almacenado.
Sólo faltaba tal y como apuntaba Chris, saber que un procedimiento almacenado se puede llamar igual que cualquier tabla o vista, añadiéndole las condiciones que se necesiten al WHERE. Un saludo
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino - |
#72
|
||||
|
||||
Debo decir que no hubiera sido posible la escritura del SP sin la ayuda de román cuando presentó esa consulta.
Por ello estoy dispuesto a compartir la mitad del jamón con el maestro román. Saludos, |
#73
|
||||
|
||||
Cita:
Obviamente, es decisión de Casimiro en este caso tomar un camino para su solución, pero yo sigo pensando en que es mucho mejor seguir trabajando del lado del código de la GUI en luegar de utilizar la base de datos como solución. |
#74
|
||||
|
||||
Cita:
Es sólo una posibilidad más que se baraja y debo decir que en buena parte tiene su simpleza. Quizá un SP no se tan rápido que una consulta. Quizá se pierda un poco de velocidad y perfomance cuando se tengan varios registros y sean muchos clientes quienes estén atacando el servidor pero la posibilidad de que esté el SP ayuda a que buena parte del código sea más simple. Si el motor tiene la capacidad y los datos necesarios para ayudar a facilitar algunas operaciones del lado del cliente es más que una buena posibilidad de evaluarlo. ¿No es acaso una de las reglas que un desarrollador debe siempre considerar? Si el servidor puede asumir esa tarea y puede darnos los datos pre-masticados que la haga.... para todo lo demás existe mastercard... este... digo el sistema cliente. No se trata de una chapuza como lo quieres vender, ni que el programador es ineficiente o incompetente por no haber logrado algo por otra vía. Si tanto te preocupa encontrar una solución que no esté vinculada con la base de datos y sea por código yo ya había indicado una vía, que me tomo la molestia de corregir: Disponer de una estructura, una lista, a modo del campo ficticio "Colorear" y llenar esta lista con los 1 o 0 (o el color, o lo que quieran) para que luego al momento de pintar el DBGrid pueda recuperarse este dato y saber de que color pintarlo. El punto es que NECESARIAMENTE se debe contar con toda la información de todos los registros para saber de que color pintar. No puede verse y atacar el problema considerando el registro de forma individual, ya que su color está relacionado con su predecesor y es necesario mantener en memoria, de alguna forma, el color asignado para que a efectos de un desplazamiento podamos volver al estado original. Saludos, |
#75
|
||||
|
||||
Cita:
Creo que se está llegando a la conclusión de que esa parte es la que no funciona en este sistema, no se puede comparar con el valor del "último valor" porque puede ser cualquier registro, por ejemplo cuando ha llegado al último registro y ahora se posiciona en el primero, los colores pueden ser iguales, o no, depende de si el número de "asientos" es par o impar. O sea, pintarlo, lo pinta perfecto, tanto ese método como todos los demás que se han sugerido, pero en cuanto empiezas a moverte por el grid arriba y abajo, con teclas o con el ratón, yendo al primero o al último con ctrl-inicio y ctrl-fin, página arriba y abajo, etc. siempre acaba descontrolando los colores por lo dicho anteriormente, el "anterior" no tiene por qué ser el que está "antes" en el dbgrid. Entonces las únicas soluciones posibles son las que sacan el color del propio registro, independientemente de lo que tengan los otros registros anteriores o posteriores. Ya sea mediante procedimiento almacenado, tabla en memoria, etc. Bueno, esto que comento es lo que me parece según lo visto, puedo estar totalmente equivocado y ahora alguno expone un código que consigue el resultado esperado. |
#76
|
||||
|
||||
[quote=Delphius;386876] ... ... ... [/]
Es obvio que te molestó mi comentario. Sorry, pero es mi opinión y mi filosofía de desarrollo. Por lo que tú digas, no la cambiaré porque no creo estar equivocado. Tú bien sabes -lo has dicho- que existe una solución sin recurrir a la base de datos, y si esa fuera matar moscas con cañonazos, pues que así sea. Aveces, algunas "tonterías" -desde el punto de vista de la GUI- necesitan cientos de línea y docenas de horas en moldearse." Cita:
Cita:
Cita:
Cita:
|
#77
|
||||
|
||||
Cita:
|
#78
|
||||||
|
||||||
Cita:
Estamos presentando alternativas, no sabíamos que te tenía que caer bien a vos. Luego venía el debate de sus pros y contras. Cita:
Tu que eres el mega chingón desarrollador, y tanto se ve que sabes deberías estar bien al tanto que en ocasiones no existe el blanco o el negro y debe encontrarse una solución en términos grises. Cita:
Algunas reglas están para romperse, otras no.. y otras tantas a medias. Para alguien que pretende decir que no debería tomarse universalmente me sorprende que intentes convencer que la solución pase únicamente por el lado del cliente. A ver chiquito... estamos debatiendo pero parece que a vos no te agrada que otros presentemos otras vías posibles de encararlo. Allí si tu tienes tu estilo, al menos otros estamos buscando darles giros al asunto y no quedarnos monotemáticos. Cita:
Tu pretendes tildar a Casi y a los demás como incompetente. Evita esas indirectas molestas... aqui ninguno viene con aires de traer la superioridad... Y si no has sabido interpretar algunas cosas que se han dicho con humor... bueno, eso ya es otra cosa. Cita:
Sabes que existe algo llamado KISS... a lo siento... tu prefieres seguir rompiéndote la cabeza y no intentar darle un giro a tus ideas. Bien por ti, si quieres seguir complicándote. Cita:
Hay más que mirar, y no necesariamente habrá una perdida considerable de perfomance. Y allí si digo... punto final. Si, sigamos con el hilo... que no tiene sentido discutir, menos con alguien que pretende ponerle punto final a un debate de ideas. Te aviso además, que no fui el iniciador y motivador principal de la solución por el lado de la base de datos... fue román, si tienes algo que decir y objetar crítica a él. Yo solamente seguí su planteo y propuse una ALTERNATIVA. REPITO Y SOSTENGO HASTA EL CANSANCIO... HABLAMOS DE ALTERNATIVAS.. NO DE QUIEN SE LLEVA EL PREMIO A LA RAZÓN. La verdadera razón se la doy a Dios. Saludos Cris.... Saludos a los demás. |
#79
|
||||
|
||||
Demonios, qué caro se está poniendo el jamón
Que no cunda el pánico. Independientemente de la solución que se adopte, hay que tener en cuenta que los partícipes en este hilo no somos aprendices, y la verdad, hemos tardado en encontrar la solución; desde Casimiro que lo abrió al último participante. Y sí, parecía cosa de niños, pero realmente no era así. Una vez tengamos una sóla o infinidad de soluciones, dejémosle a quien tiene que resolver el problema que lo resuelva como mejor crea conveniente, ya que de sus sistema, de sus usuarios y de sus problemáticas es él quien tiene el máximo de información. La solución planteada desde la parte del servidor, puede ser tan buena como otra cualquiera, dependerá de la cantidad de veces que ese proceso se lanza, del equilibrio entre coste-beneficio, de lo pijo que sea el usuario, ... como bien comentabais antes. Saludos
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino - |
#80
|
||||
|
||||
Yo lo he logrado con el código que puse anteriormente. (Modificado un poco)
Resumiendo: Poner AutoCalcFields = False; Creando un campo calculado Creando el evento OnCalcFields
Última edición por duilioisola fecha: 07-01-2011 a las 11:02:30. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Alternar dos colores en las lineas de un DBGrid. | jealousy | OOP | 4 | 07-05-2014 15:45:23 |
colores en un dbgrid | frf_84 | Gráficos | 2 | 07-12-2004 12:14:57 |
dbgrid con colores | Giniromero | Conexión con bases de datos | 7 | 08-07-2004 16:26:29 |
dbgrid en colores | sebas | Conexión con bases de datos | 2 | 09-07-2003 09:16:14 |
Colores en una DBGrid | REDCOM | Varios | 2 | 26-05-2003 20:42:58 |
|