Clipper On Line • Ver Tópico - carregar dados da tabela MariaDB em uma GRID

carregar dados da tabela MariaDB em uma GRID

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

 

carregar dados da tabela MariaDB em uma GRID

Mensagempor Amparo » 22 Abr 2019 14:45

ola amigos

Harbour MiniGUI Extended Edition 19.03 (Release)

tenho uma tabela de cliente com seus devidos campos, um em especifico, o CODIGO_VENDEDOR varchar(20), na tabela de vendedor tenho o campo CODIGO varchar(20) Nome varchar(50) e por ai vai.

preciso alimentar uma GRID que contem os seguintes campos:

codigo do cliente
nome do cliente
contato
telefone
vendedor
nome do vendedor
...

ate o campo vendedor sem problema utilizo a sintaxe +/- ssim
MSELE := OSERVER:QUERY( "SELECT codigo,nome,contato,telefone,vendedor FROM CLIENTE USE INDEX (idx_codigo) ORDER BY CODIGO )

mais preciso pegar o NOME DO VENDEDOR que esta na tabela de VENDEDORES, como fazer isso?

minha instrução esta desta forma:

   SETMESSAGE("Aguarde pesquisando registros...",1 )

   SELE_MSELE_QUERY := OSERVER:QUERY( MSELE )

   IF SELE_MSELE_QUERY:NETERR()
      MSGSTOP( "Erro ao abrir tabela de " + SGC020101AFUNC[1] + " !!!" + QUEBRA + SELE_MSELE_QUERY:ERROR() + QUEBRA + ALLTRIM( PROCNAME(0) ) + "(" + STRZERO( PROCLINE(0),4) +")", MSIST )
   ELSE
      CONTA_REG := 1

      SETMESSAGE( STRZERO( SELE_MSELE_QUERY:LASTREC(),6 ), 4 )

      DELETE ITEM ALL FROM &NOME_DA_GRID. OF SGC020101FORM

      DO WHILE CONTA_REG <= SELE_MSELE_QUERY:LASTREC()
         DO EVENTS
         ROWS_MSELE_QUERY := SELE_MSELE_QUERY:GETROW( CONTA_REG )

         ADD ITEM {ROWS_MSELE_QUERY:FIELDGET("codigo"), ;
         ROWS_MSELE_QUERY:FIELDGET("nome") ,;
         ROWS_MSELE_QUERY:FIELDGET("contato"),;
         ROWS_MSELE_QUERY:FIELDGET("telefone"),;
         ROWS_MSELE_QUERY:FIELDGET("vendedor")   } TO &NOME_DA_GRID. OF SGC020101FORM

         SELE_MSELE_QUERY:SKIP(1)

         CONTA_REG += 1
      ENDDO

      DOMETHOD( "SGC020101FORM", NOME_DA_GRID,"SETFOCUS" )
   ENDIF


desde ja agradeço a ajuda.

amparo
Avatar de usuário

Amparo
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 337
Data de registro: 20 Ago 2010 10:38
Cidade/Estado: caieiras / sao paulo
Curtiu: 0 vez
Mens.Curtidas: 2 vezes

carregar dados da tabela MariaDB em uma GRID

Mensagempor MSDN » 23 Abr 2019 11:01

Amparo, veja o código abaixo, é o que vc precisa, claro que precisa trocar os nomes de tabelas e campos, mas a lógica é essa, nesse exemplo mostra como selecionar quais campos irão aparecer no grid, pegar a descrição com base em uma ID, filtrar por descrição e ordenar.

oQuery := oMySQL:Query('select produtos.id, produtos.descricao_cplta, produtos.qtd_estoque, produtos.estoque_min, produtos.preco_venda, produtos.ativo, produtos.baixa_estoque, categoria.descricao from produtos INNER JOIN categoria ON (produtos.id_categoria = categoria.id) where produtos.descricao_cplta like '+v_pesquisa+' order by produtos.descricao_cplta')


Abraço
MSDN
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 741
Data de registro: 28 Nov 2003 14:55
Cidade/Estado: CWB
Curtiu: 178 vezes
Mens.Curtidas: 123 vezes

carregar dados da tabela MariaDB em uma GRID

Mensagempor Amparo » 24 Abr 2019 07:02

OLA AMIGOS

bom dia Marcelo, obrigado por sua colaboração.

então o INNER JOIN é o responsável em fazer o relacionamento entre as tabelas, vou estuda lo e ver as possibilidades que ele pode me trazer, ainda não pesquisei sua funcionalidade mas na logica, me parece que ele faz o relacionamento com varias tabelas ao mesmo tempo.

abraço
Amparo
Avatar de usuário

Amparo
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 337
Data de registro: 20 Ago 2010 10:38
Cidade/Estado: caieiras / sao paulo
Curtiu: 0 vez
Mens.Curtidas: 2 vezes




Retornar para MiniGui

Quem está online

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