Que tal Jaime, ( Y este si que es un OffTopic) Segun puedo ver el codigo hay varios "malos habitos" usados, por eso muchos dicen que VFP es desordenado, pero el desordenado es el programador, y VFP permite hacerlo. 1) VFP si permite declarar variables de un tipo, eso de declarar una variable sin un tipo tambien lo hace PHP, que toma su tipo dependediendo del primer valor almacenado. Ejemplo: Local tuVariable as tuTipo Local lPepito as Integer Public pPepito as Double
2) (Referente al codigo) - Veo no veo la necesidad de usar variables(en algunos casos), para lo que estas haciendo es solo INSERT simple y puedes usar PARAMETRIZACION + TEXT TO (Para armar querys largos), quedaria algo asi: TEXT TO sQuery NOSHOW INSERT INTO tuTabla (campo, campor, campo) VALUES (?thisform.tutxtx.value,?thisform.tuOtrotxt.value) ENDTEXT SQLEXEC(gnConHandle,sQuery) Creo que se entiende mejor asi ;) 3) Los TXTBOX que son de tipo Numero o Integer debes ponerle 0 en la propiedad VALUE para ser tratados como tal 4) Los TXTBOX que son de tipo flotante debes ponerle 0.00 en la propiedad VALUE 5) En caso de que tengas error por tipo, puedes hacer un CAST y se lo puedes hacer al mismo control, eje: ?thisform.textbox.value::VARCHAR 6) Recomendacion: Usar una clase o Funcion para la ejecucion de consultas asi haces capturas los errores ( ya sea por conexion o errores de sintaxis en la consulta.)asi no tienes que repetirlo cada vez que vayas a enviar algo al motor. Perdon por el OffTopic. Suerte El día 5 de junio de 2009 8:15, Raúl Andrés Duque Murillo <ra_du...@yahoo.com.mx> escribió: > >>______________________________ >>De: Jaime Casanova <jcasa...@systemguards.com.ec> >>Para: POSTGRES <pgsql-es-ayuda@postgresql.org> >>Enviado: viernes, 5 de junio, 2009 1:13:22 >>Asunto: [pgsql-es-ayuda] [semi OT] mapping vfp variables to sql columns >> >>Hola todos, >> >>Otra vez tratando de entender vfp. >>He aquí que tengo una aplicación (no es mía, por si acaso ;) que hace >>algo como lo que se muestra en el adjunto. >>Como verán el código en si es pésimo, no digamos la elección de los >>nombres de las variables. Pero algo que no ayuda en nada es el hecho >>se que en vfp no solo no hay necesidad de declarar el tipo de dato de >>las variables sino que "no es posible hacerlo". >> > > Jaime, no se si no muestras todo el código, pero SI es posible definri el > tipo de dato de una variable. Se hace así: > > LOCAL > LOCAL > LOCAL > LOCAL > LOCAL LOCAL llOk AS BOOLEANLOCAL lcXml AS STRINGlcMetodo AS STRINGlnTranInve > AS INTEGERlfDiferencia AS DOUBLElfValor AS DoubleloParte AS VARIANTLOCAL > loExistLoc AS VARIANTLOCAL ldTransac AS DATE > > Atentamente, > > RAUL DUQUE > Bogotá, Colombia > >>Sí que fox interpreta los tipo de datos a su antojo de modo que al >>jeecutar el INSERT postgres me da el siguiente error (fijense que el >>cero que debia ser interpretado como un entero es interpretado como un >>loat8: >>""" >>2009-06-04 15:28:53 COT ERROR: column "impreso" is of type boolean >>but expression is of type double precision at character 466 >>2009-06-04 15:28:53 COT HINT: You will need to rewrite or cast the >>expression. >>2009-06-04 15:28:53 COT STATEMENT: INSERT INTO FCDOCUME >>>(tipo,numero,fecha,cliente,zona,vendedor,tip_aplic,num_aplic,fecha_ven,subtotal,total,comentario,codcta,IMPRESO,COM_LIQUID,BLOQUEADO,BLOQUE1,ASENTADO,FINANCIADO,POSTFECHA,IMPUESTO,TURNO)values(E'CC' >>,'2135'::float8 ,'2009-06-04 00:00:00'::timestamp ,E'0156 ' >>,E' ' ,E'0003 ' ,E' ' ,'0'::float8 ,'2009-06-04 >>00:00:00'::timestamp ,'1'::float8 ,'1.12'::float8 ,E' >> DAFSD ' ,'0'::float8 ,'0'::float8 >>,'0'::float8 ,'0'::float8 ,'0'::float8 ,'0'::float8 ,'0'::float8 >>,'0'::float8 ,'0.12'::float8 ,E'001' ) >>""" > > Una solucion simple claro es que al armar la cadena puedo hacer un > cast para indicar el tipo de dato. > alguna sugerencia sobre de que otra forma puedo controlar el tipo de > dato que será enviado a postgres (de ser posible que no implique > reescribir todo)? > > -- > Atentamente, > Jaime Casanova > Soporte y capacitación de PostgreSQL > Asesoría y desarrollo de sistemas > Guayaquil - Ecuador > Cel. +59387171157 > > > > ¡Obtén la mejor experiencia en la web! Descarga gratis el nuevo Internet > Explorer 8. http://downloads.yahoo.com/ieak8/?l=mx > -- > TIP 6: ¿Has buscado en los archivos de nuestra lista de correo? > http://archives.postgresql.org/pgsql-es-ayuda > -- :: HDS Consultores TI Servidores | Redes | Programacion | GNU/Linux | PostgreSQL Santiago, Republica Dominicana. -- TIP 1: para suscribirte y desuscribirte, visita http://archives.postgresql.org/pgsql-es-ayuda