VFP 9 y MySql (Es_Binario)
Publicado por Juan Carlos Lopez Lopez (128 intervenciones) el 03/09/2010 00:17:27
Gracias por reponder, pego tu respuesta que me diste hace unos dias:
************************************************************************
Para conectar yo tengo el metodo conectar y desconectar.
RELEASE Con
PUBLIC Con
TRY
*// los siguientes datos dependen de la configuracion de Mysql
*// usuario y contrasña "OPTIONS=131329;")
Con = SQLSTRINGCONNECT("DRIVER={MySQL ODBC 5.1 Driver};" + ; && Nombre del driver odbc
"SERVER=localhost;" + ; && Nombre del servidor o ip
"UID=farmacia_hugo;" + ; && nombre del usuario default root
"PWD=12345678;" + ; && pass del usuario o root segun sea el caso
"DATABASE=farmaciadb;" + ; && nombre de la base de datos
"OPTIONS=0;") && opciones de conexion
IF Con > 0
*// WAIT WINDOW "Conexión realizada con Exito...!" TIMEOUT 0.02
ENDIF
CATCH
MESSAGEBOX("Ocurrio un Error al Conectar",48,"Error...!!!")
RETURN
ENDTRY
*// desconectar
SQLDISCONNECT(Con)
saludos, buscate un buen libro de mysql o bajate la guia de usuario de la pagina en español
------------------ COMO HAGO UNA CONSULTA ------------
LOCAL palabra_buscame as String
palabra_buscame = ALLTRIM(This.Value)
IF !EMPTY(palabra_buscame)
*// procede con la busqueda
Thisformset.conecta()
Thisform.grilla1.RecordSource = ""
*// tipo de busqueda
DO CASE
CASE thisform.cmb1.ListIndex = 1 && comience
cadenaSql = "Select *" + ;
"from arti " + ;
"Where descrip like '&palabra_buscame%'"
CASE thisform.cmb1.ListIndex = 2 && termine
cadenaSql = "Select *" + ;
"from arti " + ;
"Where descrip like '%&palabra_buscame'"
CASE thisform.cmb1.ListIndex = 3 && lleve
cadenaSql = "Select *" + ;
"from arti " + ;
"Where descrip like '%&palabra_buscame%'"
ENDCASE
*// ejecuta la consulta en mysql
SQLEXEC(Con, cadenaSql ,"r")
*// actualiza los nulos
UPDATE r SET r.p_publico = 0 WHERE ISNULL(r.p_publico ) = .T.
UPDATE r SET r.descu = 0 WHERE ISNULL(r.descu ) = .T.
UPDATE r SET r.iva = 0 WHERE ISNULL(r.iva ) = .T.
UPDATE r SET r.existencia = 0 WHERE ISNULL(r.existencia) = .T.
*// se desconecta de mysql
Thisformset.desconecta()
*// llena la grilla con la informacion
SELECT descrip, laborato, p_publico, descu, iva, tip_desc,;
ROUND(((1 +(iva / 100)) * (1 - (descu/100)) * p_publico),2) as neto, ;
existencia, ubicacion, cod_barra ;
FROM r INTO CURSOR Resultado_Consulta READWRITE ;
ORDER BY descrip
Thisform.grilla1.RecordSource = "Resultado_Consulta"
Thisform.grilla1.Refresh()
*// pone el numero de encontrados
SELECT r
Thisform.Txtencontrados.Value = RECCOUNT()
ENDIF
********************************************************************************
Una duda, digamos que ya tengo creada mi BD y tablas y los permisos respectivos con MySql, puedo cambiar las lineas de tu codigo y adaptarlas con mis tablas. Aqui la gran duda solo copio , modifico y corro mi PRG, oh hay que hacer alguna conexion ODBC manual, por favor sacame de esta terrible duda.
Saludos.
************************************************************************
Para conectar yo tengo el metodo conectar y desconectar.
RELEASE Con
PUBLIC Con
TRY
*// los siguientes datos dependen de la configuracion de Mysql
*// usuario y contrasña "OPTIONS=131329;")
Con = SQLSTRINGCONNECT("DRIVER={MySQL ODBC 5.1 Driver};" + ; && Nombre del driver odbc
"SERVER=localhost;" + ; && Nombre del servidor o ip
"UID=farmacia_hugo;" + ; && nombre del usuario default root
"PWD=12345678;" + ; && pass del usuario o root segun sea el caso
"DATABASE=farmaciadb;" + ; && nombre de la base de datos
"OPTIONS=0;") && opciones de conexion
IF Con > 0
*// WAIT WINDOW "Conexión realizada con Exito...!" TIMEOUT 0.02
ENDIF
CATCH
MESSAGEBOX("Ocurrio un Error al Conectar",48,"Error...!!!")
RETURN
ENDTRY
*// desconectar
SQLDISCONNECT(Con)
saludos, buscate un buen libro de mysql o bajate la guia de usuario de la pagina en español
------------------ COMO HAGO UNA CONSULTA ------------
LOCAL palabra_buscame as String
palabra_buscame = ALLTRIM(This.Value)
IF !EMPTY(palabra_buscame)
*// procede con la busqueda
Thisformset.conecta()
Thisform.grilla1.RecordSource = ""
*// tipo de busqueda
DO CASE
CASE thisform.cmb1.ListIndex = 1 && comience
cadenaSql = "Select *" + ;
"from arti " + ;
"Where descrip like '&palabra_buscame%'"
CASE thisform.cmb1.ListIndex = 2 && termine
cadenaSql = "Select *" + ;
"from arti " + ;
"Where descrip like '%&palabra_buscame'"
CASE thisform.cmb1.ListIndex = 3 && lleve
cadenaSql = "Select *" + ;
"from arti " + ;
"Where descrip like '%&palabra_buscame%'"
ENDCASE
*// ejecuta la consulta en mysql
SQLEXEC(Con, cadenaSql ,"r")
*// actualiza los nulos
UPDATE r SET r.p_publico = 0 WHERE ISNULL(r.p_publico ) = .T.
UPDATE r SET r.descu = 0 WHERE ISNULL(r.descu ) = .T.
UPDATE r SET r.iva = 0 WHERE ISNULL(r.iva ) = .T.
UPDATE r SET r.existencia = 0 WHERE ISNULL(r.existencia) = .T.
*// se desconecta de mysql
Thisformset.desconecta()
*// llena la grilla con la informacion
SELECT descrip, laborato, p_publico, descu, iva, tip_desc,;
ROUND(((1 +(iva / 100)) * (1 - (descu/100)) * p_publico),2) as neto, ;
existencia, ubicacion, cod_barra ;
FROM r INTO CURSOR Resultado_Consulta READWRITE ;
ORDER BY descrip
Thisform.grilla1.RecordSource = "Resultado_Consulta"
Thisform.grilla1.Refresh()
*// pone el numero de encontrados
SELECT r
Thisform.Txtencontrados.Value = RECCOUNT()
ENDIF
********************************************************************************
Una duda, digamos que ya tengo creada mi BD y tablas y los permisos respectivos con MySql, puedo cambiar las lineas de tu codigo y adaptarlas con mis tablas. Aqui la gran duda solo copio , modifico y corro mi PRG, oh hay que hacer alguna conexion ODBC manual, por favor sacame de esta terrible duda.
Saludos.
Valora esta pregunta


0