Aqui estão os enchancements relativos a minha LIB que tem por objetivo aliviar o problema de acessar varios tipos de bases de dados diferentes. Tornando-se uma ferramenta de apoio ao programador.
A biblioteca constitue de um set de comandos e funções padronizado para facilitar a programação, feita em linguagem acessivel e com comandos fáceis de memorizar.
Nos testes efetivados até agora consegui:
- Incluir registros
- Excluir registros
- Deletar registros
- Fazer filtragem estilo SET FILTER
- Fazer buscas estilo LOCATE
- Abrir várias áreas simultaneamente estilo SELECT
- Executar comandos SQL
Nos testes feitos com DBs já consegui acessar tabelas no MySQL, Access, XML, Firebird e irei fazer testes de acesso a tabelas em MS-SQL Express 2005.
Só para se ter uma idéia do que estou falando é que acho ser possivel abrir estes tipos de arquivos ao mesmo tempo e trabalhar com os mesmos e suas tabelas também.
Dimensionei as áreas para 50 como teste, isto quer dizer que poderemos ter 50 SELECTs abertas.
O acesso poderá ser local ou remoto dependendo do DB utilizado e que suporte TCP-IP.
Comandos existentes:
ADO CONNECT <StrDriver> - Faz a conexão via string
ADO DISCONNECT - ADODISCONNECT()
ADO APPEND BLANK - ADOAPPEND()
ADO EDIT - ADOEDIT()
ADO COMMIT [<save:SAVE>] - ADOCOMMIT( [<.save.>] )
ADO SKIP - ADOSKIP( 1 )
ADO SKIP <num> - ADOSKIP( <num> )
ADO DELETE - ADODELETE()
ADO REPLACE <f1> WITH <v1> - ADOREPLACE( <(f1)>, <v1> )
ADO GOTOP - ADOGOTOP()
ADO GOBOTTOM - ADOGOBOTTOM()
ADO SET FILTER TO - ADOSETFILTER()
ADO SET FILTER TO <xpr> - ADOSETFILTER( <xpr> )
ADO SAVE <CfILE> - ADOSAVE( <CfILE> )
ADO EXECUTE <Sql> - ADOEXECUTE( <Sql> )
ADO LOCATE <xpr> - ADOLocate( <xpr> )
ADO CLOSE - ADOUSE()
ADO USE - ADOUSE()
ADO USE <(StrDatabase)> - ADOUSE( <(StrDatabase)> )
ADO SORT ON <(cField)> - ADOUSE( <(cField)> )
ADO SELECT <(cRecordSet)> - ADOSELECT( <(cRecordSet)> )
Funções existentes:
ADOConnect() - Faz a conexão com o DB escolhido através da string passada
ADOFile() - Similar a FILE()
ADOAlias() - Similar a Alias()
ADOFCount() - Similar a FCount()
ADODISConnect() - NI
ADOAppend() - Similar a dbAppend()
ADOEdit() - Permite que o registro na area corrente seja editado
ADOCommit() - Similar a Commit()
ADOSave() - Salva o conteudo da área como .XML
ADOSkip() - Similar a dbSkip()
ADODelete() - Similar a dbDelete()
ADOGoTop() - Similar a dbGoTop()
ADOGoBottom() - Similar a dbGoBottom()
ADORecno() - Similar a Recno()
ADORecCount() - Similar a RecCount()
ADOSetFilter() - Similar a dbSetFilter()
ADOFind() - Similar a dbLocate()
ADODeleted() - Similar a Deleted()
ADOUse() - Permite abertura de uma tabela que será lancada como NEW AREA
ADOClose() - Fecha a conexão com o DB escolhido
ADOExecute() - Executa uma sequencia SQL completa
ADOBOF() - Similar a Eof()
ADOEOF() - Similar a Bof()
ADOLocate() - Produz o mesmo efeito de uma Locate ou Seek
ADOSort() - NI - Permite ordenar a tabela aberta por um campo simulando INDEXes
ADOSelect() - Similar a dbSelectArea()
ADOReplace() - Permite o repasse do campo da area selecionada com conteudo de uma variavel
ADOField() - Permite acesso aos campos da area selecionada facilitando o acesso a tabela
EXEMPLOS
Sera suprido com este pequeno pacote o arquivo TESTE.PRG que contem a maioria dos comandos da biblioteca.
No momento estou implementando os comandos SORT que permitirão colocar uma visualização em ordem que o usuário especificar.
Logo estarei disponibilizando esta biblioteca para testes no Link:
http://www.5volution.com/5blog/
Bom, até mais...