Clipper On Line • Ver Tópico - HBADO 2.0 - Biblioteca de acesso a vários BDs

HBADO 2.0 - Biblioteca de acesso a vários BDs

Discussão sobre a biblioteca Fivewin - O Clipper para Windows.

Moderador: Moderadores

 

HBADO 2.0 - Biblioteca de acesso a vários BDs

Mensagempor rochinha » 28 Nov 2006 16:17

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...
Editado pela última vez por rochinha em 18 Set 2007 16:15, num total de 1 vezes
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para fivolution@hotmail.com. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar de usuário

rochinha
Membro Master

Membro Master
 
Mensagens: 4548
Data de registro: 18 Ago 2003 20:43
Cidade/Estado: São Paulo - Brasil
Curtiu: 808 vezes
Mens.Curtidas: 246 vezes

Mensagempor rochinha » 11 Dez 2006 08:57

Amiguinhos

O link acima foi atualizado e esta trabalhando bem com xHarbour 0.99.61
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para fivolution@hotmail.com. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar de usuário

rochinha
Membro Master

Membro Master
 
Mensagens: 4548
Data de registro: 18 Ago 2003 20:43
Cidade/Estado: São Paulo - Brasil
Curtiu: 808 vezes
Mens.Curtidas: 246 vezes

HDADOX - MUITO BOA

Mensagempor runner » 03 Ago 2007 05:52

Muito Boa a sua Lib, gostaria de saber se voce ja tem alguma atualizacao, e se possivel me envie mais algum material de pesquisa a respeito ou manual sobre o assunto.


MARCIO DE SOUZA

RUNNER INFORMATICA
runner
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 69
Data de registro: 03 Ago 2007 05:17
Cidade/Estado: GUARULHOS-SP
Curtiu: 0 vez
Mens.Curtidas: 3 vezes

Mensagempor benyfilho » 11 Ago 2007 11:27

Não estou usando a LIB, estou usando o ADO direto, mas na hora do RecordSet.Uptade() se eu não altero nada e confirmo ele dá erro, mas se eu alterar qualquer coisa ele funciona.
Alguém passou por essa situação?


Tabela:Fields("uf"):Value:=uf
Tabela:Fields("municipio"):Value:=municipio
Tabela:Update()
Bene
E-mail :benyhapper@hotmail.com
FWH705 / Xhar9971 / @Say / xDev
MSN: benyhapper@hotmail.com
São Paulo/SP
benyfilho
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 8
Data de registro: 19 Jun 2007 12:02
Cidade/Estado: São Paulo/SP - Brasil
Curtiu: 0 vez
Mens.Curtidas: 0 vez

Mensagempor rochinha » 11 Ago 2007 17:23

Amiguinho

Para o trabalho com ADO ao usar metodos diretos voce precisara também fazer refinamentos e criticas para completar operações e isto é um problema que existe não no ADO mas no motor de acesso a dados e é um velho problema que o VB possui de provocar erro nos updates de campos sem conteudo, etc.

Outra coisa

Sua aplicacao deve prever se algo foi alterado ou nao e fazer ou nao o update, pois voce consome recursos ao efetivar uma operação sem nexo. Não alterou? pra que forçar o registro novamente?

Verifique
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para fivolution@hotmail.com. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar de usuário

rochinha
Membro Master

Membro Master
 
Mensagens: 4548
Data de registro: 18 Ago 2003 20:43
Cidade/Estado: São Paulo - Brasil
Curtiu: 808 vezes
Mens.Curtidas: 246 vezes

Mensagempor benyfilho » 11 Ago 2007 21:53

Como vc fez esse tratamento na sua LIB para saber se precisa dar o UPDATE ou não?
Outro detalhe que peguei é quando se recupera um dado do banco de dados para uma variavel ele traz somente o tamanho do conteúdo do campo independente de seu tamanho setado no Banco de dados
Exemplo:
No banco eu tenho um campo municipio tipo varchar com tamanho de 30
Municipiotxt=Tabela:Fields("Municipio"):Value

A variavel Municipiotxt assume o tamanho do conteúdo do campo ao inves de seu tamanho total

Exemplo:
Municipiotxt=Tabela:Fields("Municipio"):Value

Valor retornado do campo "Palmas"
A variavel Municipiotxt ficou com o tamanho 6, na hora de editar no get não consigo editar mais de 6 caracteres.
Como resolver essa situação?
Bene
E-mail :benyhapper@hotmail.com
FWH705 / Xhar9971 / @Say / xDev
MSN: benyhapper@hotmail.com
São Paulo/SP
benyfilho
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 8
Data de registro: 19 Jun 2007 12:02
Cidade/Estado: São Paulo/SP - Brasil
Curtiu: 0 vez
Mens.Curtidas: 0 vez

Mensagempor rochinha » 14 Ago 2007 12:26

Amiguinho

Tem muito mais do que isto, inclusive outras propriedades que definem o tamanho ou largura do campo.

Aguarde que estarei divulgando isto.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para fivolution@hotmail.com. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar de usuário

rochinha
Membro Master

Membro Master
 
Mensagens: 4548
Data de registro: 18 Ago 2003 20:43
Cidade/Estado: São Paulo - Brasil
Curtiu: 808 vezes
Mens.Curtidas: 246 vezes

Mensagempor sygecom » 14 Ago 2007 18:22

Toh na Fila.....hehe...
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
leonardodemachado@hotmail.com

Faça você também sua doação esse fórum é uma lenda viva: http://www.pctoledo.com.br/doacao
Avatar de usuário

sygecom
Usuário Nível 7

Usuário Nível 7
 
Mensagens: 7017
Data de registro: 21 Jul 2006 10:12
Cidade/Estado: Alvorada-RS
Curtiu: 1 vez
Mens.Curtidas: 133 vezes

Ajuda Mutua

Mensagempor benyfilho » 16 Ago 2007 09:47

Caro Rochinha,

Eu conheço as propriedades que trazem o tamanho do campo definido no Banco de dados é RecordSet.Fields("nomecampo").DefinedSize, minhas dúvidas são como integrar isso ao xHarbour + Fivewin, eu sou desenvolvedor Web, trabalho muito com ASP, então a linguagem xHarbour + Fivewin, tem alguns detalhes dificéis de acertar sem uma ajuda.

Posso disponibilizar meu código para estudo, e irmos aprimorando para deixarmos para todos como fazer as operações básicas, tipo LISTAR EM BROWSE, INCLUIR, ALTERAR, EXCLUIR, PESQUISAR, FILTRAR, ORDENAR, E RELATÓRIO.

Meu MSN é benyhapper@hotmail.com, qualquer coisa entre em contato
Bene
E-mail :benyhapper@hotmail.com
FWH705 / Xhar9971 / @Say / xDev
MSN: benyhapper@hotmail.com
São Paulo/SP
benyfilho
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 8
Data de registro: 19 Jun 2007 12:02
Cidade/Estado: São Paulo/SP - Brasil
Curtiu: 0 vez
Mens.Curtidas: 0 vez

Mensagempor sygecom » 16 Ago 2007 19:03

Jah deu uma olhada no fonte da ADORDD ? talvez tenha algo lah que posso lhe ajudar !!!
Caminho das Pedra....
\xharbour\source\rdd\usrrdd\rdds\adordd
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
leonardodemachado@hotmail.com

Faça você também sua doação esse fórum é uma lenda viva: http://www.pctoledo.com.br/doacao
Avatar de usuário

sygecom
Usuário Nível 7

Usuário Nível 7
 
Mensagens: 7017
Data de registro: 21 Jul 2006 10:12
Cidade/Estado: Alvorada-RS
Curtiu: 1 vez
Mens.Curtidas: 133 vezes

Mensagempor rochinha » 16 Out 2007 16:43

Amiguinhos

O blog da ADOxb será usado para outros fins, portanto estou trazendo seu conteudo para cá e agora tem um tópico fixo somente para tratar deste assunto:

ADOxb - BIblioteca de funções de Acesso SQL
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para fivolution@hotmail.com. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar de usuário

rochinha
Membro Master

Membro Master
 
Mensagens: 4548
Data de registro: 18 Ago 2003 20:43
Cidade/Estado: São Paulo - Brasil
Curtiu: 808 vezes
Mens.Curtidas: 246 vezes




Retornar para FiveWin

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 11 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro