[GUFA] OT - Método Grabar.
Hola ,Lista: Quisiera saber si existen razones para recomendar el uso del metodo 2 sobre el metodo 1 , ya que a mí hasta ahora me ha resultado mas rapido el metodo 1. Trabajo con DBFs en una BD de VFP9. (Cabe aclarar que en el segundo caso, SY(3054,1) me notifica q Rushmore no esta optimizando , aunque la clave es CODIGO.) Opcion 1 . SELECT producto IF alta APPEND BLANK REPLACE codigo WITH cCodigo REPLACE descrip WITH cDescrip ELSE LOCATE FOR codigo = cCodigo REPLACE descrip WITH cDescrip ENDIF Opcion 2 . IF alta INSERT INTO producto (codigo , descrip ) VALUES (cCodigo , cDescrip ) ELSE UPDATE producto SET descrip = cDescrip WHERE codigo = cCodigo ENDIF
[GUFA] Re: [GUFA] OT - Método Grabar.
Para el alta la opcion 1, para la actualizacion la opcion 2, asi puedo controlar mejor el locking del registro. Pablo Pioli - Original Message - From: Lucio A. Lamanna To: GUFA List Member Sent: Monday, May 17, 2010 11:35 AM Subject: [GUFA] OT - Método Grabar. Hola ,Lista: Quisiera saber si existen razones para recomendar el uso del metodo 2 sobre el metodo 1 , ya que a mí hasta ahora me ha resultado mas rapido el metodo 1. Trabajo con DBFs en una BD de VFP9. (Cabe aclarar que en el segundo caso, SY(3054,1) me notifica q Rushmore no esta optimizando , aunque la clave es CODIGO.) Opcion 1 . SELECT producto IF alta APPEND BLANK REPLACE codigo WITH cCodigo REPLACE descrip WITH cDescrip ELSE LOCATE FOR codigo = cCodigo REPLACE descrip WITH cDescrip ENDIF Opcion 2 . IF alta INSERT INTO producto (codigo , descrip ) VALUES (cCodigo , cDescrip ) ELSE UPDATE producto SET descrip = cDescrip WHERE codigo = cCodigo ENDIF
[GUFA] Consulta con dos tablas
Hola estimados colegas. Quiero compartir con Uds. el siguiente problemita, ya que no he sabido encontrar la solución correcta: Tengo 2 tablas (t1.dbf y t2.dbf), las cuales contienen algunos campos similares entre sí, es decir: t1.dbf t2.dbf f1- f1 f2- f2 f3- f3 f21 - f13 Ahora, quiero hacer una consulta que me devuelva 4 columnas con todos los registros de ambas tablas. Una forma sería crear una tabla temporal con los 4 campos de t1.dbf y hacerle un APPEND con los 4 campos correspondientes de t2.dbf, luego haría la consulta con los 4 campos de la tabla temporal resultante. Lo que quiero saber es si hay una forma más directa, sin crear una tabla temporal ni hacer el APPEND, para obtener la consulta que quiero. Imagino que esto tenga una solución (tal vez con UNION o JOIN), pero no la he encontrado y agradecería me ayudaran en lo posible. Un fraternal saludo, Tomás Corrales Lemoine Aeropuerto Internacional Frank País García de Holguín.
[GUFA] Consulta con dos tablas
Fijate con Select from tabla1 join tabla2 where (en la ayuda de VFP tenés ejemplos ) Pablo Sigüenza _ De: GUFA@mug.org.ar [mailto:g...@mug.org.ar] En nombre de Tomás Corrales Lemoine Enviado el: Lunes, 17 de Mayo de 2010 04:18 p.m. Para: GUFA List Member Asunto: [GUFA] Consulta con dos tablas Hola estimados colegas. Quiero compartir con Uds. el siguiente problemita, ya que no he sabido encontrar la solución correcta: Tengo 2 tablas (t1.dbf y t2.dbf), las cuales contienen algunos campos similares entre sí, es decir: t1.dbf t2.dbf f1- f1 f2- f2 f3- f3 f21 - f13 Ahora, quiero hacer una consulta que me devuelva 4 columnas con todos los registros de ambas tablas. Una forma sería crear una tabla temporal con los 4 campos de t1.dbf y hacerle un APPEND con los 4 campos correspondientes de t2.dbf, luego haría la consulta con los 4 campos de la tabla temporal resultante. Lo que quiero saber es si hay una forma más directa, sin crear una tabla temporal ni hacer el APPEND, para obtener la consulta que quiero. Imagino que esto tenga una solución (tal vez con UNION o JOIN), pero no la he encontrado y agradecería me ayudaran en lo posible. Un fraternal saludo, Tomás Corrales Lemoine -- Aeropuerto Internacional Frank País García de Holguín. Se certificó que el correo entrante no contiene virus. Comprobada por AVG - www.avg.es Versión: 9.0.819 / Base de datos de virus: 271.1.1/2875 - Fecha de la versión: 05/17/10 03:26:00
[GUFA] Consulta con dos tablas
Escribo de memoria Select * from t1.dbf inner join t2.dbf on t1.f1=t2.f1 and t1.f2=t2.f2 En condicion del ON fijate de establecer la igualdad de los campos que te relacionan una y otra tabla. El inner join te va a retornar solo aquellos registros cuyos campos vinculados existan en ambas tablas. Outer los registros de ambas existan o no los valores vinculados. Luego tambien lee Left y Right JOIN Espero se entienda Daniel Calvin Enviado desde mi BlackBerry de Movistar (http://www.movistar.com.ar) -Original Message- From: Tomás Corrales Lemoine to...@hog.ecasa.avianet.cu Date: Mon, 17 May 2010 14:17:40 To: GUFA List MemberGUFA@mug.org.ar Subject: [GUFA] Consulta con dos tablas Hola estimados colegas. Quiero compartir con Uds. el siguiente problemita, ya que no he sabido encontrar la solución correcta: Tengo 2 tablas (t1.dbf y t2.dbf), las cuales contienen algunos campos similares entre sí, es decir: t1.dbf t2.dbf f1- f1 f2- f2 f3- f3 f21 - f13 Ahora, quiero hacer una consulta que me devuelva 4 columnas con todos los registros de ambas tablas. Una forma sería crear una tabla temporal con los 4 campos de t1.dbf y hacerle un APPEND con los 4 campos correspondientes de t2.dbf, luego haría la consulta con los 4 campos de la tabla temporal resultante. Lo que quiero saber es si hay una forma más directa, sin crear una tabla temporal ni hacer el APPEND, para obtener la consulta que quiero. Imagino que esto tenga una solución (tal vez con UNION o JOIN), pero no la he encontrado y agradecería me ayudaran en lo posible. Un fraternal saludo, Tomás Corrales Lemoine Aeropuerto Internacional Frank País García de Holguín.
[GUFA] Ocultar page
Oscar, imagino que debes querer algo como esto. Debes tener instalado el Microsoft Tabbed Dialog Control 6. (SP4). Saludos, Tomás De: GUFA@mug.org.ar [mailto:g...@mug.org.ar] En nombre de Oscar Gonzalez Enviado el: Sábado, 15 de Mayo de 2010 05:11 p.m. Para: GUFA List Member Asunto: [GUFA] Ocultar page Ok, de esta manera tengo las tres visibles pero deshabilito una, lo que yo queria era tener solo dos visibles Voy a ver entre las dos opciones que es lo que mejor puedo sacar Muchas gracias Saludos cordiales, Oscar _ De: GUFA@mug.org.ar [mailto:g...@mug.org.ar] En nombre de Rafael Copquin Enviado el: Sábado, 15 de Mayo de 2010 06:58 p.m. Para: GUFA List Member Asunto: [GUFA] Ocultar page En tu caso, para que te queden activas la 1 y la 2 y que tengas a la vista la 2: with thisform.pageframe1 .page1.enabled = .T. .page2.enabled = .T. .page3.enabled = .F. .activepage = 2 endwith Con activepage ponés al frente la página que querés Rafael Copquin El 15/05/2010 12:00, Oscar Gonzalez escribió: Hola En realidad lo que necesito es lo siguiente: En un pageframe con tres pages la primera siempre tiene que estar visible y según las condiciones necesito activar o la segunda o la tercera por codigo, quiere decir que siempre estaria con dos paginas activas, la 1 y la 2 o la 1 y la 3 ¿ de esta manera lo puedo hacer? Saludos cordiales, Oscar _ De: GUFA@mug.org.ar [mailto:g...@mug.org.ar] En nombre de Ricardo Pina Enviado el: Viernes, 14 de Mayo de 2010 11:21 p.m. Para: GUFA List Member Asunto: [GUFA] Ocultar page Hola Oscar Hay una manera de ocultar todos las solapas de pageframe, mostrandote la pagina activa solamente con lo que tendrias que cambiar de pagina programaticamente o por algun otro control. Thisform.pageframe.tabs = .F. Te oculta las solapas de pageframe Espero que sea lo que buscas. Saludos El 14 de mayo de 2010 20:21, Oscar Gonzalez oogonza...@gmail.com escribió: Gracias pero no me sirven, voy a colocar dos conteiner con los controles de cada uno y los ocultare a mi gusto Saludos cordiales, Oscar _ De: GUFA@mug.org.ar [mailto:g...@mug.org.ar] En nombre de PabloC Enviado el: viernes, 14 de mayo de 2010 17:25 Para: GUFA List Member Asunto: [GUFA] Ocultar page La otra posibilidad es que sea la ultima pagina la que queres ocultar y en runtime modifiques el pagecount al total - 1 Saludos PabloC De: GUFA@mug.org.ar [mailto:g...@mug.org.ar] En nombre de Carlos Miguel FARIAS Enviado el: Viernes, 14 de Mayo de 2010 17:15 Para: GUFA List Member Asunto: [GUFA] Ocultar page No le veo propiedad visible a un page del pageframe (que si lo tiene), lo que podrìas hacer es quitarle el caption y ponerle enabled en falso, con eso deberìa quedar suficientemente desaparecida (al menos no seleccionable) Saludos: Miguel --- El vie 14-may-10, Oscar Gonzalez oogonza...@gmail.com escribió: De: Oscar Gonzalez oogonza...@gmail.com Asunto: [GUFA] Ocultar page Para: GUFA List Member GUFA@mug.org.ar Fecha: viernes, 14 de mayo de 2010, 10:39 Hola. Necesito ocultar una solapa de un PageFrame en determinadas ocasiones. ¿es posible? Saludos Oscar -- Ricardo Pina DSIP Desarrollo y Servicios Informáticos Profesionales www.dsip.com.ar -- Aeropuerto Internacional Frank País García de Holguín. Aeropuerto Internacional Frank País García de Holguín. pack.rar Description: Binary data
[GUFA] Consulta con dos tablas
Gracias por responder, Pablo y Daniel. El problema es que la condición t1.f1=t2.f1 and t1.f2=t2.f2 no me sirve porque necesito incluir todos los t1.f1 y todos los t2.f1 aunque no sean iguales en ambas tablas. Lo mismo para los demás campos. Saludos, Tomás De: GUFA@mug.org.ar [mailto:g...@mug.org.ar] En nombre de daniel.cal...@gmail.com Enviado el: Lunes, 17 de Mayo de 2010 01:34 p.m. Para: GUFA List Member Asunto: [GUFA] Consulta con dos tablas Escribo de memoria Select * from t1.dbf inner join t2.dbf on t1.f1=t2.f1 and t1.f2=t2.f2 En condicion del ON fijate de establecer la igualdad de los campos que te relacionan una y otra tabla. El inner join te va a retornar solo aquellos registros cuyos campos vinculados existan en ambas tablas. Outer los registros de ambas existan o no los valores vinculados. Luego tambien lee Left y Right JOIN Espero se entienda Daniel Calvin Enviado desde mi BlackBerry de Movistar (http://www.movistar.com.ar) _ From: Tomás Corrales Lemoine to...@hog.ecasa.avianet.cu Date: Mon, 17 May 2010 14:17:40 -0500 To: GUFA List MemberGUFA@mug.org.ar Subject: [GUFA] Consulta con dos tablas Hola estimados colegas. Quiero compartir con Uds. el siguiente problemita, ya que no he sabido encontrar la solución correcta: Tengo 2 tablas (t1.dbf y t2.dbf), las cuales contienen algunos campos similares entre sí, es decir: t1.dbf t2.dbf f1- f1 f2- f2 f3- f3 f21 - f13 Ahora, quiero hacer una consulta que me devuelva 4 columnas con todos los registros de ambas tablas. Una forma sería crear una tabla temporal con los 4 campos de t1.dbf y hacerle un APPEND con los 4 campos correspondientes de t2.dbf, luego haría la consulta con los 4 campos de la tabla temporal resultante. Lo que quiero saber es si hay una forma más directa, sin crear una tabla temporal ni hacer el APPEND, para obtener la consulta que quiero. Imagino que esto tenga una solución (tal vez con UNION o JOIN), pero no la he encontrado y agradecería me ayudaran en lo posible. Un fraternal saludo, Tomás Corrales Lemoine -- Aeropuerto Internacional Frank País García de Holguín. -- Aeropuerto Internacional Frank País García de Holguín. Aeropuerto Internacional Frank País García de Holguín.
[GUFA] Consulta con dos tablas
Select * from t1 Union all Select * from t2 Enviado desde mi BlackBerry de Movistar (http://www.movistar.com.ar) -Original Message- From: Tomás Corrales Lemoine to...@hog.ecasa.avianet.cu Date: Mon, 17 May 2010 15:35:44 To: GUFA List MemberGUFA@mug.org.ar Subject: [GUFA] Consulta con dos tablas Gracias por responder, Pablo y Daniel. El problema es que la condición t1.f1=t2.f1 and t1.f2=t2.f2… no me sirve porque necesito incluir todos los t1.f1 y todos los t2.f1 aunque no sean iguales en ambas tablas. Lo mismo para los demás campos. Saludos, Tomás De: GUFA@mug.org.ar [mailto:g...@mug.org.ar] En nombre de daniel.cal...@gmail.com Enviado el: Lunes, 17 de Mayo de 2010 01:34 p.m. Para: GUFA List Member Asunto: [GUFA] Consulta con dos tablas Escribo de memoria Select * from t1.dbf inner join t2.dbf on t1.f1=t2.f1 and t1.f2=t2.f2 En condicion del ON fijate de establecer la igualdad de los campos que te relacionan una y otra tabla. El inner join te va a retornar solo aquellos registros cuyos campos vinculados existan en ambas tablas. Outer los registros de ambas existan o no los valores vinculados. Luego tambien lee Left y Right JOIN Espero se entienda Daniel Calvin Enviado desde mi BlackBerry de Movistar (http://www.movistar.com.ar) _ From: Tomás Corrales Lemoine to...@hog.ecasa.avianet.cu Date: Mon, 17 May 2010 14:17:40 -0500 To: GUFA List MemberGUFA@mug.org.ar Subject: [GUFA] Consulta con dos tablas Hola estimados colegas. Quiero compartir con Uds. el siguiente problemita, ya que no he sabido encontrar la solución correcta: Tengo 2 tablas (t1.dbf y t2.dbf), las cuales contienen algunos campos similares entre sí, es decir: t1.dbf t2.dbf f1- f1 f2- f2 f3- f3 f21 - f13 Ahora, quiero hacer una consulta que me devuelva 4 columnas con todos los registros de ambas tablas. Una forma sería crear una tabla temporal con los 4 campos de t1.dbf y hacerle un APPEND con los 4 campos correspondientes de t2.dbf, luego haría la consulta con los 4 campos de la tabla temporal resultante. Lo que quiero saber es si hay una forma más directa, sin crear una tabla temporal ni hacer el APPEND, para obtener la consulta que quiero. Imagino que esto tenga una solución (tal vez con UNION o JOIN), pero no la he encontrado y agradecería me ayudaran en lo posible. Un fraternal saludo, Tomás Corrales Lemoine -- Aeropuerto Internacional Frank País García de Holguín. -- Aeropuerto Internacional Frank País García de Holguín. Aeropuerto Internacional Frank País García de Holguín.
[GUFA] Consulta con dos tablas
Tomás, chequeá el FULL OUTER JOIN. Abrazo. From: Tomás Corrales Lemoine Sent: Monday, May 17, 2010 5:35 PM To: GUFA List Member Subject: [GUFA] Consulta con dos tablas Gracias por responder, Pablo y Daniel. El problema es que la condición t1.f1=t2.f1 and t1.f2=t2.f2. no me sirve porque necesito incluir todos los t1.f1 y todos los t2.f1 aunque no sean iguales en ambas tablas. Lo mismo para los demás campos. Saludos, Tomás De: GUFA@mug.org.ar [mailto:g...@mug.org.ar] En nombre de daniel.cal...@gmail.com Enviado el: Lunes, 17 de Mayo de 2010 01:34 p.m. Para: GUFA List Member Asunto: [GUFA] Consulta con dos tablas Escribo de memoria Select * from t1.dbf inner join t2.dbf on t1.f1=t2.f1 and t1.f2=t2.f2 En condicion del ON fijate de establecer la igualdad de los campos que te relacionan una y otra tabla. El inner join te va a retornar solo aquellos registros cuyos campos vinculados existan en ambas tablas. Outer los registros de ambas existan o no los valores vinculados. Luego tambien lee Left y Right JOIN Espero se entienda Daniel Calvin Enviado desde mi BlackBerry de Movistar (http://www.movistar.com.ar) From: Tomás Corrales Lemoine to...@hog.ecasa.avianet.cu Date: Mon, 17 May 2010 14:17:40 -0500 To: GUFA List MemberGUFA@mug.org.ar Subject: [GUFA] Consulta con dos tablas Hola estimados colegas. Quiero compartir con Uds. el siguiente problemita, ya que no he sabido encontrar la solución correcta: Tengo 2 tablas (t1.dbf y t2.dbf), las cuales contienen algunos campos similares entre sí, es decir: t1.dbf t2.dbf f1- f1 f2- f2 f3- f3 f21 - f13 Ahora, quiero hacer una consulta que me devuelva 4 columnas con todos los registros de ambas tablas. Una forma sería crear una tabla temporal con los 4 campos de t1.dbf y hacerle un APPEND con los 4 campos correspondientes de t2.dbf, luego haría la consulta con los 4 campos de la tabla temporal resultante. Lo que quiero saber es si hay una forma más directa, sin crear una tabla temporal ni hacer el APPEND, para obtener la consulta que quiero. Imagino que esto tenga una solución (tal vez con UNION o JOIN), pero no la he encontrado y agradecería me ayudaran en lo posible. Un fraternal saludo, Tomás Corrales Lemoine -- Aeropuerto Internacional Frank País García de Holguín. -- Aeropuerto Internacional Frank País García de Holguín. -- Aeropuerto Internacional Frank País García de Holguín.
[GUFA] Consultas en VFP8 lentas en VFP9
Buenas tardes, quiero pasar un sistema q estoy corriendo en VFP8 a VFP9, pero apenas arranco me encuentro con la primer traba, tengo una consulta, relativamente sencilla que en la ver 8 me la devuelve en 2seg, y en el 9 nunca pude ver el resultado, no me da error pero aparece la barrita de status y comienza a correr el porcentaje a una velocidad no apta para cardiacos, en definitiva termino cortándola. Recuerdo cuando migré al 8 tuve q utilizar el SET ENGINEBEHAVIOR 70 para resolver el tema de compatibilidad, acá lo probé también pero nada. Si alguno puede orientarme un poco, les agradeceré, realmente quisiera utilizar algunas de las herramientas del 9, desde ya muchas gracias y les paso un ej de la consulta q quiero tirar: SELECT _Art.Codigo,_Art.Identif, _Eq.Equivalente AS Equiv,_Art.DadodeBaja ; FROM Articulo AS _Art LEFT OUTER JOIN Grupos AS _Eq ON LTRIM(_Eq.Codigo)+ALLTRIM(_Eq.Identif)=LTRIM(_Art.Codigo)+ALLTRIM(_Art.Identif) ; INTO CURSOR Varios_Art este comando en el 8 anda bien en el 9 es eterno Victor Santos
[GUFA] Consultas en VFP8 lentas en VFP9
Victor, no sabría decirte por qué en VFP8 anda bien y en VFP9 no, pero es muy poco performante tener TRIMs adentro de tus consultas, o mismo tener índices en los que trimees strings... Es preferible tener el string entero por más que sea largo... talvez esto ayuda. Saludos. From: Santos Victor Sent: Monday, May 17, 2010 5:40 PM To: GUFA List Member Subject: [GUFA] Consultas en VFP8 lentas en VFP9 Buenas tardes, quiero pasar un sistema q estoy corriendo en VFP8 a VFP9, pero apenas arranco me encuentro con la primer traba, tengo una consulta, relativamente sencilla que en la ver 8 me la devuelve en 2seg, y en el 9 nunca pude ver el resultado, no me da error pero aparece la barrita de status y comienza a correr el porcentaje a una velocidad no apta para cardiacos, en definitiva termino cortándola. Recuerdo cuando migré al 8 tuve q utilizar el SET ENGINEBEHAVIOR 70 para resolver el tema de compatibilidad, acá lo probé también pero nada. Si alguno puede orientarme un poco, les agradeceré, realmente quisiera utilizar algunas de las herramientas del 9, desde ya muchas gracias y les paso un ej de la consulta q quiero tirar: SELECT _Art.Codigo,_Art.Identif, _Eq.Equivalente AS Equiv,_Art.DadodeBaja ; FROM Articulo AS _Art LEFT OUTER JOIN Grupos AS _Eq ON LTRIM(_Eq.Codigo)+ALLTRIM(_Eq.Identif)=LTRIM(_Art.Codigo)+ALLTRIM(_Art.Identif) ; INTO CURSOR Varios_Art este comando en el 8 anda bien en el 9 es eterno Victor Santos
[GUFA] Consultas en VFP8 lentas en VFP9
Fijate de poner == Sergio De: GUFA@mug.org.ar [mailto:g...@mug.org.ar] En nombre de Santos Victor Enviado el: Lunes, 17 de Mayo de 2010 05:40 p.m. Para: GUFA List Member Asunto: [GUFA] Consultas en VFP8 lentas en VFP9 Buenas tardes, quiero pasar un sistema q estoy corriendo en VFP8 a VFP9, pero apenas arranco me encuentro con la primer traba, tengo una consulta, relativamente sencilla que en la ver 8 me la devuelve en 2seg, y en el 9 nunca pude ver el resultado, no me da error pero aparece la barrita de status y comienza a correr el porcentaje a una velocidad no apta para cardiacos, en definitiva termino cortándola. Recuerdo cuando migré al 8 tuve q utilizar el SET ENGINEBEHAVIOR 70 para resolver el tema de compatibilidad, acá lo probé también pero nada. Si alguno puede orientarme un poco, les agradeceré, realmente quisiera utilizar algunas de las herramientas del 9, desde ya muchas gracias y les paso un ej de la consulta q quiero tirar: SELECT _Art.Codigo,_Art.Identif, _Eq.Equivalente AS Equiv,_Art.DadodeBaja ; FROM Articulo AS _Art LEFT OUTER JOIN Grupos AS _Eq ON LTRIM(_Eq.Codigo)+ALLTRIM(_Eq.Identif)=LTRIM(_Art.Codigo)+ALLTRIM(_Art.Ident if) ; INTO CURSOR Varios_Art este comando en el 8 anda bien en el 9 es eterno Victor Santos
[GUFA] Consultas en VFP8 lentas en VFP9
Terrible pero efectiva tu repuesta Pablo, es eso no+, me diste una puñalada certera, ja. Voy a tener q reformar grande che, pero t agradezco mucho el dato, no pensé q eso podía traerme probl de performance, pero es lógico che. Lo q si t comento q si funciona en el 8 hace varios años q lo estoy usando, pero voy a tener q solucionarlo y por lo q me decís no me queda otra q reformar, muy agradecido por tu información che, saludos From: Pablo Dana Sent: Monday, May 17, 2010 5:49 PM To: GUFA List Member Subject: [GUFA] Consultas en VFP8 lentas en VFP9 Victor, no sabría decirte por qué en VFP8 anda bien y en VFP9 no, pero es muy poco performante tener TRIMs adentro de tus consultas, o mismo tener índices en los que trimees strings... Es preferible tener el string entero por más que sea largo... talvez esto ayuda. Saludos. From: Santos Victor Sent: Monday, May 17, 2010 5:40 PM To: GUFA List Member Subject: [GUFA] Consultas en VFP8 lentas en VFP9 Buenas tardes, quiero pasar un sistema q estoy corriendo en VFP8 a VFP9, pero apenas arranco me encuentro con la primer traba, tengo una consulta, relativamente sencilla que en la ver 8 me la devuelve en 2seg, y en el 9 nunca pude ver el resultado, no me da error pero aparece la barrita de status y comienza a correr el porcentaje a una velocidad no apta para cardiacos, en definitiva termino cortándola. Recuerdo cuando migré al 8 tuve q utilizar el SET ENGINEBEHAVIOR 70 para resolver el tema de compatibilidad, acá lo probé también pero nada. Si alguno puede orientarme un poco, les agradeceré, realmente quisiera utilizar algunas de las herramientas del 9, desde ya muchas gracias y les paso un ej de la consulta q quiero tirar: SELECT _Art.Codigo,_Art.Identif, _Eq.Equivalente AS Equiv,_Art.DadodeBaja ; FROM Articulo AS _Art LEFT OUTER JOIN Grupos AS _Eq ON LTRIM(_Eq.Codigo)+ALLTRIM(_Eq.Identif)=LTRIM(_Art.Codigo)+ALLTRIM(_Art.Identif) ; INTO CURSOR Varios_Art este comando en el 8 anda bien en el 9 es eterno Victor Santos __ Información de NOD32, revisión 5122 (20100517) __ Este mensaje ha sido analizado con NOD32 antivirus system http://www.nod32.com
[GUFA] 3 Capas
Estimados colisteros: Tengo una duda en cuanto a la implementación de clases en 3 capas y es la siguiente: Una capa de datos se encarga de comunicarse con la base de datos y subir las consultas y respuestas a la clase de negocios, por ende, si yo cambiase la capa de datos, la clase de negocios tendría que salir funcionando perfectamente. Con lo cual la aplicación lograría escalabilidad. Ahora bien, suponiendo que yo desarrollo una capa de datos llamada CapaDeAccesoaDatos, con la funcionalidad de conectarse a un SQLSERVER, pero también tengo otra clase, CapaDeAccesoaDatos con la funcionalidad de conectarse a un FIREBIRD o un Access o base nativa de FOX. Las clases de negocio implementarían objetos basados en esa clase, pero, que pasa si yo tengo que hacer que convivan entre ellas estas clases ? A ver si con código me explico mejor: Esta es la clase de Acceso a Sql Server (Es solo un ejemplo breve) DEFINE CLASS CapaDeAccesoaDatos AS CUSTOM cStringDeConexion = nConexion = 0 PROCEDURE INIT (cArchivoDeConfiguracion) THIS.cStringDeConexion = FILETOSTR(cArchivoDeConfiguracion) ENDPROC PROCEDURE Conectar THIS.nConexion=SQLSTRINGCONNECT(cStringDeConexion) ENDPROC PROCEDURE Ejecutar(cInstruccion) =SQLEXEC(THIS.nConexion, cInstruccion) ENDPROC ENDDEFINE Y esta es la clase de Acceso a una base de FOX DEFINE CLASS CapaDeAccesoaDatos AS CUSTOM cNombreDeBaseDeDatos= PROCEDURE INIT(cArchivoDeConfiguracion) THIS. cNombreDeBaseDeDatos = FILETOSTR(cArchivoDeConfiguracion) ENDPROC PROCEDURE Conectar() OPEN DATABASE (THIS.cNombreDeBaseDeDatos) ENDPROC PROCEDURE Ejecutar(cInstruccion) cInstruccion ENDPROC ENDDEFINE Si pongo estas 2 clases en un solo PRG, cuando creo un objeto: oBase = CREATEOBJECT(CapaDeAccesoaDatos, ArchivoConfiguracion.txt) crea el objeto de acuerdo al último DEFINE CLASS. Si los pongo en distintos PRG tengo que especificar en el FRONT que clase de acceso a datos usar, ya que en los DEFINE de la clase de negocios no puedo usar el SET PROCEDURE TO. No se si los marié con la pregunta, es muy probable, pero sería una consecuencia del propio mareo que tengo. De antemano, gracias.
[GUFA] Consultas en VFP8 lentas en VFP9
Buenísimo lo tuyo Sergio, anduvo joya, me resuelve el problema mientras hago la gran reforma, MUCHAS GRACIAS From: Sergio Lescano Sent: Monday, May 17, 2010 6:03 PM To: GUFA List Member Subject: [GUFA] Consultas en VFP8 lentas en VFP9 Fijate de poner == Sergio De: GUFA@mug.org.ar [mailto:g...@mug.org.ar] En nombre de Santos Victor Enviado el: Lunes, 17 de Mayo de 2010 05:40 p.m. Para: GUFA List Member Asunto: [GUFA] Consultas en VFP8 lentas en VFP9 Buenas tardes, quiero pasar un sistema q estoy corriendo en VFP8 a VFP9, pero apenas arranco me encuentro con la primer traba, tengo una consulta, relativamente sencilla que en la ver 8 me la devuelve en 2seg, y en el 9 nunca pude ver el resultado, no me da error pero aparece la barrita de status y comienza a correr el porcentaje a una velocidad no apta para cardiacos, en definitiva termino cortándola. Recuerdo cuando migré al 8 tuve q utilizar el SET ENGINEBEHAVIOR 70 para resolver el tema de compatibilidad, acá lo probé también pero nada. Si alguno puede orientarme un poco, les agradeceré, realmente quisiera utilizar algunas de las herramientas del 9, desde ya muchas gracias y les paso un ej de la consulta q quiero tirar: SELECT _Art.Codigo,_Art.Identif, _Eq.Equivalente AS Equiv,_Art.DadodeBaja ; FROM Articulo AS _Art LEFT OUTER JOIN Grupos AS _Eq ON LTRIM(_Eq.Codigo)+ALLTRIM(_Eq.Identif)=LTRIM(_Art.Codigo)+ALLTRIM(_Art.Identif) ; INTO CURSOR Varios_Art este comando en el 8 anda bien en el 9 es eterno Victor Santos __ Información de NOD32, revisión 5122 (20100517) __ Este mensaje ha sido analizado con NOD32 antivirus system http://www.nod32.com
[GUFA] 3 Capas
Veo que tenes un archivo de configuracion. Ponele nombres distintos a cada capa y levantas de ahi el nombre de la que queres usar. * Saco esto del archivo de configuracion obj = Label * Creo el objeto que me hace falta x = CreateObject(obj) Pablo Pioli - Original Message - From: Alejandro Paciotti Iacchelli To: GUFA List Member Sent: Monday, May 17, 2010 6:03 PM Subject: [GUFA] 3 Capas Estimados colisteros: Tengo una duda en cuanto a la implementación de clases en 3 capas y es la siguiente: Una capa de datos se encarga de comunicarse con la base de datos y subir las consultas y respuestas a la clase de negocios, por ende, si yo cambiase la capa de datos, la clase de negocios tendría que salir funcionando perfectamente. Con lo cual la aplicación lograría escalabilidad. Ahora bien, suponiendo que yo desarrollo una capa de datos llamada CapaDeAccesoaDatos, con la funcionalidad de conectarse a un SQLSERVER, pero también tengo otra clase, CapaDeAccesoaDatos con la funcionalidad de conectarse a un FIREBIRD o un Access o base nativa de FOX. Las clases de negocio implementarían objetos basados en esa clase, pero, que pasa si yo tengo que hacer que convivan entre ellas estas clases ? A ver si con código me explico mejor: Esta es la clase de Acceso a Sql Server (Es solo un ejemplo breve) DEFINE CLASS CapaDeAccesoaDatos AS CUSTOM cStringDeConexion = nConexion = 0 PROCEDURE INIT (cArchivoDeConfiguracion) THIS.cStringDeConexion = FILETOSTR(cArchivoDeConfiguracion) ENDPROC PROCEDURE Conectar THIS.nConexion=SQLSTRINGCONNECT(cStringDeConexion) ENDPROC PROCEDURE Ejecutar(cInstruccion) =SQLEXEC(THIS.nConexion, cInstruccion) ENDPROC ENDDEFINE Y esta es la clase de Acceso a una base de FOX DEFINE CLASS CapaDeAccesoaDatos AS CUSTOM cNombreDeBaseDeDatos= PROCEDURE INIT(cArchivoDeConfiguracion) THIS. cNombreDeBaseDeDatos = FILETOSTR(cArchivoDeConfiguracion) ENDPROC PROCEDURE Conectar() OPEN DATABASE (THIS.cNombreDeBaseDeDatos) ENDPROC PROCEDURE Ejecutar(cInstruccion) cInstruccion ENDPROC ENDDEFINE Si pongo estas 2 clases en un solo PRG, cuando creo un objeto: oBase = CREATEOBJECT(CapaDeAccesoaDatos, ArchivoConfiguracion.txt) crea el objeto de acuerdo al último DEFINE CLASS. Si los pongo en distintos PRG tengo que especificar en el FRONT que clase de acceso a datos usar, ya que en los DEFINE de la clase de negocios no puedo usar el SET PROCEDURE TO. No se si los marié con la pregunta, es muy probable, pero sería una consecuencia del propio mareo que tengo. De antemano, gracias.
[GUFA] 3 Capas
Con la simpleza de las genialidades, GRACIAS ! De: GUFA@mug.org.ar [mailto:g...@mug.org.ar] En nombre de Pablo Pioli Enviado el: Lunes, 17 de Mayo de 2010 06:16 p.m. Para: GUFA List Member Asunto: [GUFA] 3 Capas Veo que tenes un archivo de configuracion. Ponele nombres distintos a cada capa y levantas de ahi el nombre de la que queres usar. * Saco esto del archivo de configuracion obj = Label * Creo el objeto que me hace falta x = CreateObject(obj) Pablo Pioli - Original Message - From: Alejandro Paciotti Iacchelli mailto:a...@memory-argentina.com To: GUFA List Member mailto:GUFA@mug.org.ar Sent: Monday, May 17, 2010 6:03 PM Subject: [GUFA] 3 Capas Estimados colisteros: Tengo una duda en cuanto a la implementación de clases en 3 capas y es la siguiente: Una capa de datos se encarga de comunicarse con la base de datos y subir las consultas y respuestas a la clase de negocios, por ende, si yo cambiase la capa de datos, la clase de negocios tendría que salir funcionando perfectamente. Con lo cual la aplicación lograría escalabilidad. Ahora bien, suponiendo que yo desarrollo una capa de datos llamada CapaDeAccesoaDatos, con la funcionalidad de conectarse a un SQLSERVER, pero también tengo otra clase, CapaDeAccesoaDatos con la funcionalidad de conectarse a un FIREBIRD o un Access o base nativa de FOX. Las clases de negocio implementarían objetos basados en esa clase, pero, que pasa si yo tengo que hacer que convivan entre ellas estas clases ? A ver si con código me explico mejor: Esta es la clase de Acceso a Sql Server (Es solo un ejemplo breve) DEFINE CLASS CapaDeAccesoaDatos AS CUSTOM cStringDeConexion = nConexion = 0 PROCEDURE INIT (cArchivoDeConfiguracion) THIS.cStringDeConexion = FILETOSTR(cArchivoDeConfiguracion) ENDPROC PROCEDURE Conectar THIS.nConexion=SQLSTRINGCONNECT(cStringDeConexion) ENDPROC PROCEDURE Ejecutar(cInstruccion) =SQLEXEC(THIS.nConexion, cInstruccion) ENDPROC ENDDEFINE Y esta es la clase de Acceso a una base de FOX DEFINE CLASS CapaDeAccesoaDatos AS CUSTOM cNombreDeBaseDeDatos= PROCEDURE INIT(cArchivoDeConfiguracion) THIS. cNombreDeBaseDeDatos = FILETOSTR(cArchivoDeConfiguracion) ENDPROC PROCEDURE Conectar() OPEN DATABASE (THIS.cNombreDeBaseDeDatos) ENDPROC PROCEDURE Ejecutar(cInstruccion) cInstruccion ENDPROC ENDDEFINE Si pongo estas 2 clases en un solo PRG, cuando creo un objeto: oBase = CREATEOBJECT(CapaDeAccesoaDatos, ArchivoConfiguracion.txt) crea el objeto de acuerdo al último DEFINE CLASS. Si los pongo en distintos PRG tengo que especificar en el FRONT que clase de acceso a datos usar, ya que en los DEFINE de la clase de negocios no puedo usar el SET PROCEDURE TO. No se si los marié con la pregunta, es muy probable, pero sería una consecuencia del propio mareo que tengo. De antemano, gracias.