Otro ejemplo de E1RDD para MySQL
Posted: Fri Apr 30, 2010 4:40 pm
En este ejemplo ilustar como se pueden mezclar la RDD para MySQL y las tradicionales.
Este ejemplo pasa Test.dbf del samples de (x)Harbour a MySQL. Donde se ejecute tiene que estar dicha DBF
Este es el link de descarga: http://www.zshare.net/download/7555559407d411ea/
Este ejemplo pasa Test.dbf del samples de (x)Harbour a MySQL. Donde se ejecute tiene que estar dicha DBF
Este es el link de descarga: http://www.zshare.net/download/7555559407d411ea/
Code: Select all
//----------------------------------------------------------------------------//
// Para no cargar el ejecutable con las RDD
ANNOUNCE E1RDD
//----------------------------------------------------------------------------//
// Procedimiento principal de arranque
procedure main()
local cHost := space( 20 )
local cUser := space( 20 )
local cPwd := space( 20 )
local cDb := space( 20 )
local cTable := space( 20 )
local oCon
local GetList := {}
local nWA1, nWA2, i, nLen, aStruct, nDb, aDb
SET DATE FORMAT TO "DD/MM/YYYY"
cls
@ 10, 10 SAY "Host..........:" GET cHost
@ 11, 10 SAY "User..........:" GET cUser
@ 12, 10 SAY "Password......:" GET cPwd
READ
cls
cHost := AllTrim( cHost )
cUser := AllTrim( cUser )
cPwd := AllTrim( cPwd )
cDb := AllTrim( cDb )
//----------------------------------------------------------------------------//
oCon := TMSConnect():New()
oCon:SetAutoError( .f. )
// Intentamos la conexion
if oCon:Connect( cHost, cUser, cPwd )
aDb := oCon:ListDataBases()
@ 2, 9 SAY "Elige una Bases de Datos"
DispBox( 3, 9, 21, 40 )
nDb := AChoice( 4, 10, 20, 39, aDb )
cDb := aDb[ nDb ]
oCon:SelectDataBase( cDb )
Alert( "TEST.DBF va a ser importada en la base de datos: " + cDb )
// Se inicia el sistema E1RDD
InitE1RDD( oCon )
//----------------------------------------------------------------------------//
// A partir de aqui estamos con RDDs
//----------------------------------------------------------------------------//
// Abrimos y ponemos en uso test.dbf
USE test ALIAS test NEW
// Hallamos el area de trabajo
nWA1 := Select( "test" )
// Obtenemos la estructura de la DBF
aStruct := ( nWA1 )->( DbStruct() )
//----------------------------------------------------------------------------//
// Creamos una tabla con la misma estructura de la DBF
// en la conexion oCom
DbCreate( "e1test", aStruct, "E1RDD" )
// Abrimos y ponemos en uso la tabla
USE e1test ALIAS e1test VIA "E1RDD" NEW
// Hallamos el area de trabajo
nWA2 := Select( "e1test" )
//----------------------------------------------------------------------------//
cls
@ 10, 10 SAY "Procesando el registro "
// Hacemos la exportacion desde la DBF a la tabla MySQL
nLen := ( nWA1 )->( FCount() )
while !( nWA1 )->( Eof() )
( nWA2 )->( DbAppend() )
for i := 1 to nLen
( nWA2 )->( FieldPut( i, ( nWA1 )->( FieldGet( i ) ) ) )
next
( nWA2 )->( DbCommit() )
@ 10, 35 SAY Str( ( nWA1 )->( RecNo() ) )
( nWA1 )->( DbSkip( 1 ) )
end
//----------------------------------------------------------------------------//
// Mostramos la DBF
Alert( "Browse de: " + Alias( nWA1 ) )
( nWA1 )->( Browse() )
// Mostramos la tabla MySQL
Alert( "Browse de: " + Alias( nWA2 ) )
( nWA2 )->( Browse() )
// Cerramos todo
CLOSE test
CLOSE e1test
//----------------------------------------------------------------------------//
endif
oCon:Free()
return
//----------------------------------------------------------------------------//