Last active
November 11, 2018 17:01
-
-
Save rauljrz/54a14a5a1339e742fc04cf0730e5e56d to your computer and use it in GitHub Desktop.
Ejemplo de actualizacion de varios registros en mysql Remoto
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
*[ http://rinconfox.com ] | |
*[ https://chat.whatsapp.com/579n13MRO2j7eiuw4xcVOC ] | |
*[ [email protected] ] | |
lcServer ="vps-1310086-x.dattaweb.com" | |
lcUserName="ztestfox" | |
lcPassword="Password2" | |
lcDataBase="ztestfox" | |
lcStringConnect = "DRIVER={MySQL ODBC 3.51 Driver};" ; | |
+"SERVER=" +lcServer +";" ; | |
+"UID=" +lcUserName+";" ; | |
+"PWD=" +lcPassword+";" ; | |
+"DATABASE="+lcDataBase+";" ; | |
+"OPTIONS=131329;" | |
SQLSETPROP(0,"DispLogin" , 3 ) | |
USE IN SELECT("crsContactos") &&Si existe el cursor lo cierro | |
CLEAR | |
? ' Establezco la conexion remota: '+TRANSFORM(DATETIME()) | |
TRY | |
lnHandle = SQLSTRINGCONNECT(lcStringConnect) | |
IF lnHandle<=0 THEN | |
THROW 'Error en la conexion' | |
ENDIF | |
*- Busco todos los contactos que son del pais Angola de una tabla de 2200 Registros remotos | |
TEXT TO lcStmt TEXTMERGE PRETEXT 15 NOSHOW | |
SELECT id, nombre, empresa, ciudad | |
FROM contactos | |
WHERE pais='Angola'; | |
ENDTEXT | |
ldIni = DATETIME() | |
IF SQLEXEC(lnHandle, lcStmt, 'crsContactos')<=0 THEN | |
THROW 'Error en el select' | |
ENDIF | |
ldEnd = DATETIME() | |
? ' Inicio de la Consulta: '+TRANSFORM(ldIni) | |
? ' Final de la Consulta.: '+TRANSFORM(ldEnd) | |
? | |
? ' Se encontró '+TRANSFORM(RECCOUNT('crsContactos'))+' Registros de 2200' | |
SELECT crsContactos | |
BROWSE NOWAIT | |
*--- Modifico el curso para actualizar en mysql | |
REPLACE ALL ciudad WITH ALLTRIM(ciudad)+' MODIFICADO' | |
*--- Ahora lo actualizo en MySQL | |
SCAN | |
lcCiudad = crsContactos.Ciudad | |
lnID = crsContactos.id | |
lcStmt = '' | |
TEXT TO lcStmt TEXTMERGE PRETEXT 15 NOSHOW | |
UPDATE contactos | |
SET ciudad = ?lcCiudad | |
WHERE id = ?lnID | |
ENDTEXT | |
IF SQLEXEC(lnHandle, lcStmt, 'crsContactos')<=0 THEN | |
THROW 'Error en el update' | |
ENDIF | |
ENDSCAN | |
CATCH TO loException | |
? '!------------------------!' | |
? ' -Holaa, algo salio mal!! ' | |
? ' Valor del handle: '+ TRANSFORM(lnHandle) | |
=AERROR(laError) | |
? TRANSFORM(laError[1]) + CHR(13); | |
+TRANSFORM(laError[2]) + CHR(13); | |
+TRANSFORM(laError[3]) + CHR(13); | |
+TRANSFORM(laError[4]) + CHR(13); | |
+TRANSFORM(laError[5]) + CHR(13) | |
FINALLY | |
IF lnHandle>0 THEN | |
SQLDISCONNECT(lnHandle) | |
ENDIF | |
ENDTRY | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment