Autor Tema: Tecnicas de programacion  (Leído 22607 veces)

0 Usuarios y 1 Visitante están viendo este tema.

YAcosta

  • Moderador Global
  • Exabyte
  • *****
  • Mensajes: 2853
  • Reputación: +160/-38
  • Daddy de Qüentas y QüeryFull
    • Ver Perfil
    • Personal
Re:Tecnicas de programacion
« Respuesta #15 en: Junio 10, 2011, 10:33:05 pm »
Yo solamente usa la consultas con un timer cuando solo hago un Dashboard, ninguna transacción, solo consultas e incluso con grafica de barra y toda la madre, alli si es bacan, pero cuando metes transacción la cosa alli se pone un poco problematica...
Ahora, no se para que seria necesario que el proyecto de Cobein lleve ese tema, como dijo raul, al entrar y salir del form actualiza la consulta, es mas, cuando grabas mandas a actualizar la consulta y ya.
Me encuentras en YAcosta.com

cobein

  • Moderador Global
  • Gigabyte
  • *****
  • Mensajes: 348
  • Reputación: +63/-0
  • Más Argentino que el morcipan
    • Ver Perfil
Re:Tecnicas de programacion
« Respuesta #16 en: Junio 10, 2011, 10:34:41 pm »
Volvi, me morfe unas milangas =D ahi me pongo al tanto.

Edito: Perdon por la demora, si no estoy mal, me parece que en net se pueden utilizar eventos para saber de cambios en la tabla pero estoy muuuy frezco en esto.

Sigo editando: aca esta lo de los eventos
http://www.java2s.com/Code/VB/Data-Structure/DatabaseConnectionstatechangeevent.htm

Pero parece que es solo para la coneccion
« última modificación: Junio 10, 2011, 10:46:47 pm por cobein »

YAcosta

  • Moderador Global
  • Exabyte
  • *****
  • Mensajes: 2853
  • Reputación: +160/-38
  • Daddy de Qüentas y QüeryFull
    • Ver Perfil
    • Personal
Re:Tecnicas de programacion
« Respuesta #17 en: Junio 10, 2011, 10:45:31 pm »
Volvi, me morfe unas milangas =D ahi me pongo al tanto.

Edito: Perdon por la demora, si no estoy mal, me parece que en net se pueden utilizar eventos para saber de cambios en la tabla pero estoy muuuy frezco en esto.

No se como es en .Net pero supongo que habrán un par de controles que consulten a la BD cada segundo. Los triggers hacen actualizaciones o se disparan automaticamente cuando una tabla cambia, pero esto es solo en la BD, en el motor, pero porque te enrolas en ese tema en la etapa inicial?, salvo que tengas claro porque quieres ese tema absuelto, no hay necesidad aun de ver eso. Seria interesante que indiques porque quieres resolver eso y te damos un par de soluciones.
Me encuentras en YAcosta.com

raul338

  • Terabyte
  • *****
  • Mensajes: 894
  • Reputación: +62/-8
  • xD fan!!!!! xD
    • Ver Perfil
    • Raul's Weblog
Re:Tecnicas de programacion
« Respuesta #18 en: Junio 10, 2011, 10:49:16 pm »
Noo! Te va a costar mucho mas ver si una tabla se modifico, que simplemente refrescar los datos.

Seba, es lo mismo usar el control timer, que la clase System.Timer con delegados, no hay drama de recursos.

Por cierto cobein, si usas .net? Que version? Podrias meterte de lleno a Entity Framework y/o Linq que te pueden facilitar muchas cosas

seba123neo

  • Terabyte
  • *****
  • Mensajes: 763
  • Reputación: +88/-5
    • Ver Perfil
Re:Tecnicas de programacion
« Respuesta #19 en: Junio 10, 2011, 10:49:38 pm »

Sigo editando: aca esta lo de los eventos
http://www.java2s.com/Code/VB/Data-Structure/DatabaseConnectionstatechangeevent.htm

Pero parece que es solo para la coneccion

si, es un evento de la conexion...no es de actualizacion de registros.

cobein

  • Moderador Global
  • Gigabyte
  • *****
  • Mensajes: 348
  • Reputación: +63/-0
  • Más Argentino que el morcipan
    • Ver Perfil
Re:Tecnicas de programacion
« Respuesta #20 en: Junio 10, 2011, 10:54:27 pm »
Bien, les comento un poco del proyecto, lo tengo encaminado y ya hice unas cuantas tablas y formularios pero llegado cierto punto empece a replantearme todo, viendo las consultas mostruosas, la cantidad de eventos que tengo que manejar (des/habilitar controles el la interfaz) mas los cambios en las tablas que a su vez generan cambios en otros formularios etc. Mi carma me dijo que estaba haciendo cagadas por eso estoy aca preguntando.

seba123neo

  • Terabyte
  • *****
  • Mensajes: 763
  • Reputación: +88/-5
    • Ver Perfil
Re:Tecnicas de programacion
« Respuesta #21 en: Junio 10, 2011, 10:56:45 pm »
otra cosa, esto no estan complicado, lo que planteas se puede hacer tranquilamente en una sola pantalla, como de administracion.

por ejemplo, en una grilla grande tenes todos los ingredientes con su precio, despues de cambiarle el precio a un ingrediente, podes volver a cargar los datos en la pantalla de recetas y que se vean reflejados, pero solo si el tipo cambio algo, eso se puede hacer facil, y no hay que pensar en eventos ni nada. todo en la misma pantalla, porque imaginate seria engorroso, despues de cambiar el precio , cerrar la pantalla y abrir la de recetas y ahi ver el cambio, esto se puede hacer tranquilamnete en una pantalla.
« última modificación: Junio 10, 2011, 11:00:50 pm por seba123neo »

YAcosta

  • Moderador Global
  • Exabyte
  • *****
  • Mensajes: 2853
  • Reputación: +160/-38
  • Daddy de Qüentas y QüeryFull
    • Ver Perfil
    • Personal
Re:Tecnicas de programacion
« Respuesta #22 en: Junio 10, 2011, 11:03:08 pm »
Bien, les comento un poco del proyecto, lo tengo encaminado y ya hice unas cuantas tablas y formularios pero llegado cierto punto empece a replantearme todo, viendo las consultas mostruosas, la cantidad de eventos que tengo que manejar (des/habilitar controles el la interfaz) mas los cambios en las tablas que a su vez generan cambios en otros formularios etc. Mi carma me dijo que estaba haciendo cagadas por eso estoy aca preguntando.

Asi es papa, cuando ya metes tema a base de datos tienes que empezar a hacer el diseño de la base de datos y de la parte funcional mucho antes de hacerte las tablas y menos los formularios, por mas pequeño que sea, tiene que ser asi.

Bueno, estaba haciendo el proyecto en paralelo para ejemplificar pero veo que el tema va por .net asi que creo que te confundiría mas ya q lo estaba viendo con access y VB6 que es lo que esta mas a la mano. Igual te paso lo que avance por si algo sirve.
http://www.4shared.com/file/TmEqvoeC/EjemploReceta.html?

Suerte en el proyecto.
Me encuentras en YAcosta.com

cobein

  • Moderador Global
  • Gigabyte
  • *****
  • Mensajes: 348
  • Reputación: +63/-0
  • Más Argentino que el morcipan
    • Ver Perfil
Re:Tecnicas de programacion
« Respuesta #23 en: Junio 10, 2011, 11:03:37 pm »
Advertencia - mientras estabas escribiendo, una nueva respuesta fue publicada. Probablemente desees revisar tu mensaje.

Si, eso lo se y fue uno de mis pensamientos, pero sabiendo lo que va a pasar (inflar costos y verlo reflejado en el  costeo), queria que todo sea interactivo,  poder ver los cambios infimos en los costos de materia prima reflejados en el costeo final sin tener que cambiar de ventana continuamentente entre otras cosas.

Perdon voy a dar vuelta la torta, asi lo hago mas facil, si ustedes tienen que encarar un proyecto complejo que posiblemente requiera escalarlo y necesite mantenimiento, con muchas tablas y datos que van a estar en pantalla y que estan interrelacionados, como lo harian?

Dejame que lo veo YvanB, algo entiendo de vb, lo que me interesa mas que nada es la logica de trabajo y eso por ahora.
« última modificación: Junio 10, 2011, 11:05:36 pm por cobein »

YAcosta

  • Moderador Global
  • Exabyte
  • *****
  • Mensajes: 2853
  • Reputación: +160/-38
  • Daddy de Qüentas y QüeryFull
    • Ver Perfil
    • Personal
Re:Tecnicas de programacion
« Respuesta #24 en: Junio 10, 2011, 11:07:15 pm »
Advertencia - mientras estabas escribiendo, una nueva respuesta fue publicada. Probablemente desees revisar tu mensaje.

Si, eso lo se y fue uno de mis pensamientos, pero sabiendo lo que va a pasar (inflar costos y verlo reflejado en el  costeo), queria que todo sea interactivo,  poder ver los cambios infimos en los costos de materia prima reflejados en el costeo final sin tener que cambiar de ventana continuamentente entre otras cosas.

Perdon voy a dar vuelta la torta, asi lo hago mas facil, si ustedes tienen que encarar un proyecto complejo que posiblemente requiera escalarlo y necesite mantenimiento, con muchas tablas y datos que van a estar en pantalla y que estan interrelacionados, como lo harian?

Doc, pero si hablas de "costeo de materias primas" de verdad, o sea no solo sumar cantidades y multiplicar por precios para tener el nuevo valor de la receta entonces debes indicar el método de costeo que piensas utilizar.

Si la cosa es sencilla como multiplicar cantidades y sumar los subtotales eso se resuelve con una sola consulta.
Me encuentras en YAcosta.com

seba123neo

  • Terabyte
  • *****
  • Mensajes: 763
  • Reputación: +88/-5
    • Ver Perfil
Re:Tecnicas de programacion
« Respuesta #25 en: Junio 10, 2011, 11:08:36 pm »
Advertencia - mientras estabas escribiendo, una nueva respuesta fue publicada. Probablemente desees revisar tu mensaje.

Si, eso lo se y fue uno de mis pensamientos, pero sabiendo lo que va a pasar (inflar costos y verlo reflejado en el  costeo), queria que todo sea interactivo,  poder ver los cambios infimos en los costos de materia prima reflejados en el costeo final sin tener que cambiar de ventana continuamentente entre otras cosas.

Perdon voy a dar vuelta la torta, asi lo hago mas facil, si ustedes tienen que encarar un proyecto complejo que posiblemente requiera escalarlo y necesite mantenimiento, con muchas tablas y datos que van a estar en pantalla y que estan interrelacionados, como lo harian?

es que no se de que estamos hablando, o sea cuantas tablas son que tan grande es el sistema ?, te digo que hasta los sistemas mas grandes que existe de gestion, pocas veces tienen eso que queres, de que actualizan los datos automaticos, casi todos tienen grandes pantallas, pero al fin y al cabo solo una abierta por vez, pero que a su vez llaman a otras y despues de hacer un cambio actualiza la que llamo a esta ventana, no entiendo cuando decis relacionados, obvio que los datos de las tablas estan relacionados, eso es siempre asi, pero no hay porque actualizarlo todo de golpe en pantalla.

raul338

  • Terabyte
  • *****
  • Mensajes: 894
  • Reputación: +62/-8
  • xD fan!!!!! xD
    • Ver Perfil
    • Raul's Weblog
Re:Tecnicas de programacion
« Respuesta #26 en: Junio 10, 2011, 11:13:53 pm »
Bien, les comento un poco del proyecto, lo tengo encaminado y ya hice unas cuantas tablas y formularios pero llegado cierto punto empece a replantearme todo, viendo las consultas mostruosas, la cantidad de eventos que tengo que manejar (des/habilitar controles el la interfaz) mas los cambios en las tablas que a su vez generan cambios en otros formularios etc. Mi carma me dijo que estaba haciendo cagadas por eso estoy aca preguntando.

Bienvenido al mundo de los ABM :P
No te preocupes, es asi, por mas horroroso que suene, todos los metodos hacen lo mismo, de una forma u otra.

Datasets tipados, todo junto o programacion en capaz. Internamente es todo igual :P
Fijate con cual te llevas mejor


Advertencia - mientras estabas escribiendo, una nueva respuesta fue publicada. Probablemente desees revisar tu mensaje.

Ya hice 2 proyectos asi (ambos en vb6) y la verdad: 1 formulario activo por vez y una grilla atras mostrando datos actuales (pacientes con turnos del dia).
Ante cada cambio de formulario, refrescar los datos. Procedimientos almacenados a full, era una sola terminal, pero lo prepare en caso de escalabilidad, en red, usar broadcasting cada cambio de informacion para que actualizen de forma transparente. Y fuerte valiacion de datos :P

Es mas, me esforce por hacer una linda gui al estilowindows xp/7
Y fue por esos proyectos que empeze a modificar para buscar mejoras al ucListView xD
« última modificación: Junio 10, 2011, 11:19:00 pm por raul338 »

cobein

  • Moderador Global
  • Gigabyte
  • *****
  • Mensajes: 348
  • Reputación: +63/-0
  • Más Argentino que el morcipan
    • Ver Perfil
Re:Tecnicas de programacion
« Respuesta #27 en: Junio 10, 2011, 11:19:22 pm »
Bien, vie el ejemplo YvanB, y por lo que me dicen ambos me parece que comprendo la mecanica que usan pero eso era lo que queria evitar, por ejemplo, en el ejemplo que me dejaron, se maneja modalmente y se "espera" por un cambio, mi idea era que fuera mas dinamico, permitiendo por ejemplo hacer cambios como por ejemplo agregar un ingrediente en una ventana y que se vea reflejado en la otra sin tener que bloquearla, poder hacer hacer varias cosas a la vez sin tener que estar bloqueado en un paso, y teniendo en cuenta los cambien es un lado afectan direstamente a las otras tablas y las otras interfaces..

seba123neo

  • Terabyte
  • *****
  • Mensajes: 763
  • Reputación: +88/-5
    • Ver Perfil
Re:Tecnicas de programacion
« Respuesta #28 en: Junio 10, 2011, 11:22:28 pm »
Bien, vie el ejemplo YvanB, y por lo que me dicen ambos me parece que comprendo la mecanica que usan pero eso era lo que queria evitar, por ejemplo, en el ejemplo que me dejaron, se maneja modalmente y se "espera" por un cambio, mi idea era que fuera mas dinamico, permitiendo por ejemplo hacer cambios como por ejemplo agregar un ingrediente en una ventana y que se vea reflejado en la otra sin tener que bloquearla, poder hacer hacer varias cosas a la vez sin tener que estar bloqueado en un paso, y teniendo en cuenta los cambien es un lado afectan direstamente a las otras tablas y las otras interfaces..

si te entiendo, eso es un quilombo digamos, de que se puede hacer, se puede hacer, pero es un trabajo de burros que ni quiero pensar.

YAcosta

  • Moderador Global
  • Exabyte
  • *****
  • Mensajes: 2853
  • Reputación: +160/-38
  • Daddy de Qüentas y QüeryFull
    • Ver Perfil
    • Personal
Re:Tecnicas de programacion
« Respuesta #29 en: Junio 10, 2011, 11:25:13 pm »
El motor (BD) esta en una capa y la aplicación en otra, necesariamente tienes que llamar desde la aplicación lo que quieres saber, no es al reves, no es el motor el que le dice a la aplicación que dato va o quiere actualizar.

Sea que uses un super control que haga la chamba de actualizarse solo o sea que lo programes usando un timer u otra cosa igual tienes que soplarte la consulta desde la aplicación hacia la base de datos. No queda de otra.
Me encuentras en YAcosta.com