Moderador: Moderadores
#include "directry.ch"
#include "inkey.ch"
PROCEDURE pTESBASE
LOCAL cEmpresa, aGeralList := {}, cTable, aTableList, oFile, nPos, aDatabaseList := {}, cnSQL := ADOLocal()
Altd()
WITH OBJECT cnSQL
:Execute( "SHOW DATABASES" )
DO WHILE ! :Eof()
IF hb_AScan( { "sys", "schema", "josequintas", "mysql" }, { | e | e $ Lower( :String( "Database" ) ) } ) == 0
AAdd( aDatabaseList, :String( "Database" ) )
ENDIF
:MoveNext()
ENDDO
:CloseRecordset()
FOR EACH cEmpresa IN aDatabaseList
:ExecuteCmd( "USE " + cEmpresa )
aTableList := :TableList()
FOR EACH cTable IN aTableList
IF ( nPos := hb_AScan( aGeralList, { | e | e[ 1 ] == cTable } ) ) == 0
AAdd( aGeralList, { cTable, {} } )
nPos := Len( aGeralList )
ENDIF
AAdd( aGeralList[ nPos, 2 ], cEmpresa )
NEXT
NEXT
ENDWITH
FOR EACH oFile IN aGeralList
IF Len( oFile[ 2 ] ) != Len( aDatabaseList )
IF Len( oFile[ 2 ] ) < 3
SayScroll( oFile[ 1 ] + " só tem em " + oFile[ 2 ][ 1 ] + iif( Len( oFIle[ 2 ] ) < 2, "", " " + oFile[ 2 ][ 2 ] ) )
ELSE
FOR EACH cEmpresa IN aDatabaseList
IF hb_ASCan( oFile[ 2 ], cEmpresa ) == 0
SayScroll( oFile[ 1 ] + " falta em " + cEmpresa )
Inkey(1)
ENDIF
NEXT
ENDIF
ENDIF
NEXT
SayScroll( "Fim" )
Inkey(0)
RETURN
AAdd( aGeralList, { cTable, {} } )
Usuários vendo este fórum: Nenhum usuário registrado online e 8 visitantes