Página 3 de 3

HBSQL (Sql Tool)

Enviado: 28 Set 2019 10:32
por Ranier
rochinha escreveu:quando eu estava criando a ADOxB para manusear arquivos via ADO me deparei com esta questão de usar áreas e selects sem usar números engessados."
Interessante essa discursão, a respeito do comando/função select, mas com relação a HBDBD e ao utilitário HBSQL, não têm qualquer relação.
A HBDBD não usa qualquer recurso do subsistema RDD, por consequência, não usa "workarea", então ambos select comando/função select, não irão funcionar e não são necessários.
Isso faz com que o próprio executável seja menor, haja visto, que faz "linkedição" da hbnulrdd.lib, retirando todo o subsistema RDD.
JoséQuintas escreveu:Ou, se possível, trocar tudo por uma única linha:

Código: Selecionar todos

ADO EXECUTE "CREATE TABLE IF NOT EXISTS JPREGUSO ( ..."
Não tenho certeza 100%, mas não são todos os SGDB que suportam "IF NOT EXISTS", de qualquer forma, acho a solução do Rochinha melhor, na medida que pesquisar pela existência da tabela é uma "query" mais leve e rápida, enquanto que o SGDB terá que compilar "CREATE TABLE" e fazer a pesquisa antes de executar.
O problema com pesquisar a tabela antes é que são necessários duas "rounds trips", ou seja, duas viagens completas ao servidor, se a latência for grande, demora mais, com certeza.

HBSQL (Sql Tool)

Enviado: 28 Set 2019 12:09
por JoséQuintas
Ranier escreveu:Interessante essa discursão, a respeito do comando/função select, mas com relação a HBDBD e ao utilitário HBSQL, não têm qualquer relação.
No final, eu apenas quis direcionar o aviso sobre espaço entre parêntesis e citei o select como exemplo.
E esse exemplo acabou gerando a discussão sobre select.
E depois mudou para o ADO.
E nada disso tem a ver com tópico sobre a FERRAMENTA em HBDBD.
Acabou misturando 3 assuntos, e pode ter complicado pra separar.
Talvez separar a partir dessa mensagem onde usei o select de exemplo, para um tópico "SELECT e Select()"
Ela é a primeira que não tem a ver com o tópico, e que começa a nova discussão sobre select.

HBSQL (Sql Tool)

Enviado: 30 Set 2019 02:26
por rochinha
Amiguinhos,

Vejam que não quis mudar o direcionamento para ADO mas somente mostrar que no caso da ADO aproximei e minimizei o código para que ele ficasse o mais compativel com os comandos que usamos no RDD nativo sendo que a diferença seria somente a adição de ADO no inicio da sintaxe além de apresentar uma primeira dificuldade que tive ao usar workáreas.

Talvez minha dificuldade e solução abrissem leques de outras soluções para o motor em questão.

HBSQL (Sql Tool)

Enviado: 30 Set 2019 08:51
por Ranier
De maneira alguma está atrapalhando, seus comentários são sempre bem vindos.

Com relação a sintaxe da HBDBD, será criada uma Classe para facilitar o uso, compatível com ADO, espero que 100%, assim não existirá dificuldades para escrever um só código que rode nas duas bibliotecas.

HBSQL (Sql Tool)

Enviado: 05 Out 2019 15:06
por Ranier
Nova versão do utilitário HBSQL, agora com fontes modificados para usar a Classe TConnection da HBDBD.

Novo link:
https://drive.google.com/open?id=1aNE_I ... 4V9XrHXMvb

Nova versão da biblioteca HBDBD.
Agora com suporte a Classe TConnection.

Função ConnectionNew, cria um object da Classe TConnection
Sintaxe: ConnectionNew( nDRIVER, sCONN )
Retorno: Harbour Object (Class TConnection)

Método Connection(), conecta com o Banco de Dados, de acordo com o DRIVER solicitado e a string de conexão sCONN
Sintaxe: oCONN:Connection()
Retorno: Harbour Integer (0 se OK, > 1 erro)

Método Query(), efetua uma "query SQL" que retorna um DataSet de acordo com a SQL informada
Sintaxe: oCONN:Query( sSQL )
Retorno: Harbour Logical (HB_TRUE se retornou um DataSet, HB_FALSE se falhou!)

Método Exec(), efetua um "comando SQL", de acordo com a sSQL informada
Sintaxe: oCONN:Exec( sSQL, @nROWS )
Retorno: Harbour Integer (0 se OK, > 1 erro)
Parâmetros: nROWS, contém o número de linhas afetadas pelo comando SQL

Método DatasetArray(), cria e retorna um array contendo todo o DataSet
Sintaxe: oCONN:DatasetArray()
Retorno: Harbour Array (vazia se Dataset falhou)

Método FieldsArray(), cria e retorna um array contendo todos os campos presentes no DataSet
Sintaxe: oCONN:FieldsArray()
Retorno: Harbour Array (vazia se Dataset falhou)

Método StrError(), retorna uma string contendo o ultimo erro da conexão
Sintaxe: oCONN:StrError()
Retorno: Harbour String

A Classe TConnection terá total compatibilidade com a Classe TADOClass.

HBSQL (Sql Tool)

Enviado: 11 Out 2019 10:11
por Ranier
Nova versão do utilitário HBSQL, agora com fontes modificados para usar as Classes TConnection e TDataset da HBDBD.

Novo link:
https://drive.google.com/open?id=1XbBrE ... cWKV7ewMkF

Trial da biblioteca HBDBD, disponibilizada.
Disponível para testes em 32 bits Windows.
hbdbd.lib para compiladores Microsoft
libhbdbd.a para Mingw

Incluída também documentação com os métodos disponíveis para o uso:
docs\tconnection.txt
docs\tdataset.txt
docs\tprepare.txt
docs\trecord.txt

HBSQL (Sql Tool)

Enviado: 12 Out 2019 18:27
por Ranier
Nova versão do utilitário HBSQL, agora com fontes modificados para usar a RDD ARRAYRDD.
Dessa forma é possível, editar e usar os dados com todos os comandos DBF, sem precisar modificar fontes de relatórios, por exemplo.

Código: Selecionar todos

oDS:Query( "SELECT Nome, Cidade FROM Clientes;" )
aFIELDS := oDS:FieldsArray()
aROWS  := oDS:DatasetArray()
oDS:Close()
dbCreate( "query.dbf", aFIELDS, "ARRAYRDD", .T., "query" )
hb_SetArrayRdd( aROWS )
While( !Eof() )
    ? "Nome: " + FIELD->NOME
    ? "Cidade: " + FIELD->CIDADE
    DBSkip()
End
DBCloseArea()
O melhor de dois mundos, poder usar SGDB e sem precisar modificar quase nada dos fontes atuais, que ainda usam os comandos para DBF.

Novo link:
https://drive.google.com/open?id=1Gok25 ... EpQn0hdKYE

Trial da biblioteca HBDBD, disponibilizada.
Disponível para testes em 32 bits Windows.
hbdbd.lib para compiladores Microsoft
libhbdbd.a para Mingw

Incluída também documentação com os métodos disponíveis para o uso:
docs\tconnection.txt
docs\tdataset.txt
docs\tprepare.txt
docs\trecord.txt

HBSQL (Sql Tool)

Enviado: 14 Jan 2020 12:12
por Marcos Kieron
Amigo, onde estão os fontes para eu compilar isso no meu ambiente?
Quero usar no Linux

HBSQL (Sql Tool)

Enviado: 15 Jan 2020 08:17
por Ranier
Marcos Kieron escreveu:Amigo, onde estão os fontes para eu compilar isso no meu ambiente?
Quero usar no Linux
Não estão disponíveis, esse é um projeto comercial.
Para adquirir a versão para Linux, favor entrar em contato, rc.software@hotmail.com

HBSQL (Sql Tool)

Enviado: 15 Jan 2020 11:33
por Marcos Kieron
OK, se eu precisar vou entrar em contato, obrigado

mas... alguém já comprou esse seu modulo?