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