Page 1 of 1

Necesito grabar a la vez en DBF y SQL

PostPosted: Fri Nov 24, 2017 5:55 pm
by José Vicente Beltrán
Hola foro, lo que necesito es simple pero dada mi (prácticamente) nula experiencia con MYSQL pido ayuda.
Necesito grabar sucesivamente unos datos en DBF y en MYSQL, algo así:
Code: Select all  Expand view
function guarda()
local xNombre:= "pepe"
local xDireccion := "c/ del pez 13"
local sql := ""

USE Alumno SHARE NEW
if add_rec()
replace nombre with xnombre
replace direccion with xdireccion
dbunlock()
endif
CLOSE alumno

*** aqui necesito guardar lo mismo en una tabla MYSQL
** abrir tabla
sql="INSERT INTO alumno    (nombre, direccion) VALUES('xnombre','xdireccion')";  // supongo que algo así
** cerrar tabla
return .t.

pero no conozco los detalles del codigo necesario.
La aplicación trabaja con DBF, la grabacion en MYSQL es una excepción.
Disculpad mi desconocimiento a este nivel. :shock:

Re: Necesito grabar a la vez en DBF y SQL

PostPosted: Sat Nov 25, 2017 12:06 am
by cmsoft
Code: Select all  Expand view

#include "fivewin.ch"
function guarda()
local xNombre:= "pepe"
local xDireccion := "c/ del pez 13"
local sql := ""

USE Alumno SHARE NEW
if add_rec()
replace nombre with xnombre
replace direccion with xdireccion
dbunlock()
endif
CLOSE alumno

*** aqui necesito guardar lo mismo en una tabla MYSQL
** abrir tabla
sql="INSERT INTO alumno    (nombre, direccion) VALUES("+ClipValue2Sql(xnombre)+","+ClipValue2Sql(xdireccion)+")"
oServer:Execute(sql) //oServer es tu conexion activa a la base de datos
return .t.

Re: Necesito grabar a la vez en DBF y SQL

PostPosted: Sun Nov 26, 2017 3:11 pm
by José Vicente Beltrán
Muchas gracias por responder, pero podrias indicarme también el proceso completo para crear, abrir y cerrar la conexión activa con sql? :shock:

Re: Necesito grabar a la vez en DBF y SQL

PostPosted: Sun Nov 26, 2017 4:16 pm
by horacio
Que estás usando para conectarte con el motor ? Dophin, FwhMariaDb, Ado ?

Saludos

Re: Necesito grabar a la vez en DBF y SQL

PostPosted: Sun Nov 26, 2017 8:48 pm
by José Vicente Beltrán
Supongo que podría usar ADO pero no se como :shock:

Re: Necesito grabar a la vez en DBF y SQL

PostPosted: Sun Nov 26, 2017 8:58 pm
by horacio
Para conectarte con el motor
Code: Select all  Expand view

oCon := CreateObject("ADODB.Connection")
oCon : Open := ( "Driver={MySQL ODBC 5.1 Driver};Server=" + cHost + ";Database=" + cBBDD + ";User=" + cUser + ";Password=" + cPassw + ";Option=3;" )
 


Para ejecutar el insert
Code: Select all  Expand view

cInsert := "insert into alumno(nombre, direccion) Values ('xnombre','xdireccion')"
oCon : Execute( cInsert )
 

Recuerda que además de instalar el motor Mysql deberás instalar el conector. ( En el caso de esta cadena de conexión es el conector v.5.1 ). Espero te sirva

Saludos

Re: Necesito grabar a la vez en DBF y SQL

PostPosted: Sun Nov 26, 2017 9:47 pm
by José Vicente Beltrán
Muchas gracias, al menos ahora tengo una base por donde empezar :shock:

Re: Necesito grabar a la vez en DBF y SQL

PostPosted: Mon Nov 27, 2017 2:29 am
by cnavarro
Jose Vicente, quizás esto te pueda ayudar

viewtopic.php?f=19&t=27296&hilit=empezando+con+ado#p151744

Re: Necesito grabar a la vez en DBF y SQL

PostPosted: Mon Nov 27, 2017 10:45 am
by José Vicente Beltrán
Muy buena información Cristobal, muchas gracias, yo tampoco tenia los conceptos básicos nada claros :shock:

Re: Necesito grabar a la vez en DBF y SQL

PostPosted: Mon Nov 27, 2017 10:48 am
by cnavarro
Bueno, ya sabemos como es esto
Cuando creemos que lo dominamos aparece ( o descubrimos ) algo nuevo y vuelta a empezar