Bitacora de un Hidrocalido v2.1 » Blog Archive » Algunas experiencias con variables mysql y vfp

Algunas experiencias con variables mysql y vfp

Algunas de mis experiencias con vfp y mysql, usando vfp6 y un servidor mysql 5.0 en linux:

Asignar variables, antes de cada query me aseguro que existan los valores de los campos, asignandolos a variables que se llamen como el campo, con una x al inicio

xcor = thisform.corte.value
xcan = thisform.cantidad.value

sqr = sqlexec(sqlh,’insert into base.cortes (corte, cantidad) values (?xcor, ?xcan) ‘)

Asi va a ser muy dificil que se confunda con el contenido de un campo de una tabla

Igual lo hago con datos de tablas

xcor = tablatmp.corte
xcan = tablatmp.cantidad

Para las fechas tambien funciona asignar el valor asi

xfec = thisform.fecha.value

Si lo que quiero es que tome la fecha del sistema, yo le doy mas confianza a la fecha del servidor

sqr = sqlexec(sqlh,’insert into base.tabla (fecha) values (curdate()) ‘)

Cuando quiero saber si un registro existe, hago un query de cualquier campo de la tabla, buscando siempre que sea el mas pequeño y luego cuento el resultado.

xcor = thisform.corte.value
sqr = sqlexec(sqlh,’select count(activo) from base.cortes where corte = ?xcor ‘,’qcortes’)

if reccount(’qcortes’)
messagebox(’registro no existe’)
else
messagebox(’registro SI existe’)
endif

Cuando requiero que me regrese el valor de un count(), max() o min(), lo compruebo antes de usarlo para asegurar que sea numerico

sqr = sqlexec(sqlh,’select max(corte) as maximo from base.cortes’,’qcortes’)
m.maxcorte = qcortes.maximo

** Comprobar si es numerico
if type(’m.maxcorte’) ‘N’
** Si no es numerico, lo convierte a numerico
m.maxcorte = val(m.maxcorte)
endif
Espero que les sean utiles estos pequeños consejos

This entry (Permalink) was posted on Jueves, Septiembre 28th, 2006 at 1:43 pm and is filed under Informatica. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response , or trackback from your own site.

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>