Clipper On Line • Ver Tópico - Busca parcial em Tabela DBF

Busca parcial em Tabela DBF

Discussão sobre Banco de Dados e RDDs para Clipper/[x]Harbour.

Moderador: Moderadores

 

Busca parcial em Tabela DBF

Mensagempor Cisino Junior » 16 Ago 2017 14:26

http://www.devmedia.com.br/sql-select-guia-para-iniciantes/29530 escreveu:FILTRO DE TEXTO
Para busca parcial de string, o SELECT fornece o operador LIKE. Veja o exemplo abaixo:

SELECT CODIGO, NOME FROM CLIENTES
WHERE NOME LIKE ‘MARIA%’
Neste comando, todos os clientes cujos nomes iniciam com Maria serão retornados. Se quisermos retornar os nomes que contenham ‘MARIA’ também no meio, podemos alterar para o exemplo a seguir:

SELECT CODIGO, NOME FROM CLIENTES
WHERE NOME LIKE ‘%MARIA%’
O uso de máscara no início e no fim da string fornece maior poder de busca, mas causa considerável perda de performance. Este recurso deve ser utilizado com critério.


Boa tarde!!!
Como na citação acima, retirada de uma postagem do DEVMEDIA, eu gostaria de saber como fazer para realizar uma busca parcial de registro em tabela DBF. Por exemplo: Na minha tabela de produtos está cadastrado itens como "Item Qualquer A" "Qualquer Item A" "Item Qualquer B", ao digitar a palavra QUALQUER, eu quero que retorne no componente BROWSE os registros com o a palavra "QUALQUER" independente da posição que ela esteja na STRING, começo ou meio. Como faz a operador LIKE do comando SELECT no SQL.

Alguém pode me dar uma luz nisso?

Desde já agradeço!

Atenciosamente,
Cisino Junior.
HMG 3.4.3 + DBF, Java, MySQL, PostgreSQL, PHP, JavaScript + HTML5 + CSS3, Bootstrap, Spring, Thymeleaf.
Cisino Junior
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 67
Data de registro: 14 Abr 2016 13:12
Cidade/Estado: Rio de Janeiro
Curtiu: 12 vezes
Mens.Curtidas: 5 vezes

BUSCA PARCIAL EM TABELA DBF

Mensagempor JoséQuintas » 16 Ago 2017 15:20

Alguém pode me dar uma luz nisso?


SET FILTER TO "QUALQUER" $ NOME

SET FILTER TO Left( NOME, 8 ) == "QUALQUER"

SET FILTER TO Right( Trim( NOME ), 8 ) == "QUALQUER"
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18007
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

BUSCA PARCIAL EM TABELA DBF

Mensagempor Cisino Junior » 16 Ago 2017 15:58

JoséQuintas escreveu:Expandir visualizacaoVer codigo
1 SET FILTER TO "QUALQUER" $ NOME
2  
3 SET FILTER TO Left( NOME, 8 ) == "QUALQUER"
4  
5 SET FILTER TO Right( Trim( NOME ), 8 ) == "QUALQUER"
6  


Olá Quintas, boa tarde!!!

Vou testar seu exemplo, muito obrigado!!!

Atenciosamente,
Cisino Junior.
HMG 3.4.3 + DBF, Java, MySQL, PostgreSQL, PHP, JavaScript + HTML5 + CSS3, Bootstrap, Spring, Thymeleaf.
Cisino Junior
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 67
Data de registro: 14 Abr 2016 13:12
Cidade/Estado: Rio de Janeiro
Curtiu: 12 vezes
Mens.Curtidas: 5 vezes

BUSCA PARCIAL EM TABELA DBF

Mensagempor Toledo » 16 Ago 2017 18:14

Amigo, veja também este exemplo de busca/consulta:

http://www.pctoledo.com.br/forum/viewtopic.php?f=4&t=15871#p94456

No campo de busca deste demo, digite por exemplo *JOSE

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Avatar de usuário

Toledo
Administrador

Administrador
 
Mensagens: 3038
Data de registro: 22 Jul 2003 18:39
Cidade/Estado: Araçatuba - SP
Curtiu: 263 vezes
Mens.Curtidas: 258 vezes

BUSCA PARCIAL EM TABELA DBF

Mensagempor JoséQuintas » 16 Ago 2017 19:10

Esqueci de uma coisa:
Se estiver usando algum acesso ao DBF que permite SQL, pode fazer exatamente igual, usando LIKE.
Não sei se é o caso.

E sempre pode estender o filtro usando rotina própria.

SET FILTER TO MeuFiltro()
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18007
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

BUSCA PARCIAL EM TABELA DBF

Mensagempor Cisino Junior » 17 Ago 2017 13:22

Toledo escreveu:Amigo, veja também este exemplo de busca/consulta:


Olá Toledo, irei testar agora também. Muito obrigado!!!

JoséQuintas escreveu:Esqueci de uma coisa:
Se estiver usando algum acesso ao DBF que permite SQL, pode fazer exatamente igual, usando LIKE.
Não sei se é o caso.


Olá Quintas, estamos migrando o acesso aos DBF's para o LetoDB(fork). Você poderia me indicar o caminho para fazer os acessos aos DBF's com SQL??? Isso me parece ser muito interessante! Muito obrigado!

Atenciosamente,
Cisino Junior.
HMG 3.4.3 + DBF, Java, MySQL, PostgreSQL, PHP, JavaScript + HTML5 + CSS3, Bootstrap, Spring, Thymeleaf.
Cisino Junior
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 67
Data de registro: 14 Abr 2016 13:12
Cidade/Estado: Rio de Janeiro
Curtiu: 12 vezes
Mens.Curtidas: 5 vezes

BUSCA PARCIAL EM TABELA DBF

Mensagempor JoséQuintas » 17 Ago 2017 13:43

Seria por ODBC, que no Harbour só usando SQLMIX, ou alguma outra diretamente, ou ADO que é o que uso.
O que já usei foi ADO + Advantage Local.
E ainda deve existir de FoxPro, Visual Foxpro, dBase, etc.

Mas se for pra mexer nos fontes, melhor pensar em MySQL, e não em DBF.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18007
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

BUSCA PARCIAL EM TABELA DBF

Mensagempor Cisino Junior » 17 Ago 2017 14:26

Boa tarde, Quintas!

Vou dar uma pesquisada sobre isso, mas o mudar para SGBD SQL seria realmente o melhor, infelizmente não possuímos tempo para isso agora, pois o sistema é enorme.

Você teria algum exemplo de uso?

Mais uma vez, muito obrigado!

Atenciosamente,
Cisino Junior.
HMG 3.4.3 + DBF, Java, MySQL, PostgreSQL, PHP, JavaScript + HTML5 + CSS3, Bootstrap, Spring, Thymeleaf.
Cisino Junior
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 67
Data de registro: 14 Abr 2016 13:12
Cidade/Estado: Rio de Janeiro
Curtiu: 12 vezes
Mens.Curtidas: 5 vezes




Retornar para Banco de Dados

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 12 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