renanbg Postado Julho 2, 2018 Denunciar Share Postado Julho 2, 2018 Estou usando componentes da paleta interbase. O inner join não atualiza traz os nomes dos clientes no dbgrid. Para que isso ocorra, eu faço esse procedimento Faço a busca de um cliente no cadastro de clientes Select nome, idade from clientes where nome like ed.text Ao sair do formulario de clientes, fecho a query de clientes. Aí, ao acessar a tela de contas a receber, faço esse select Select * from contas a receber cr inner join clientes cl on cl.codigo = cr.cod_cliente order by vencimento Ocorre que todos os nomes saem em branco, exceto aquele ultimo que pesquisei lá no cadastro de clientes. Porque, mesmo dando um close, a pesquisa não traz todos resultados? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Julho 2, 2018 Denunciar Share Postado Julho 2, 2018 exemplos SQL INNER JOIN syntax: SELECT *FROM [TABLE 1] INNER JOIN [TABLE 2]ON [TABLE 1].[COLUMN NAME 1] = [TABLE 2].[COLUMN NAME 2] exemplo pratico Na tabela clientes tenho o campo COD e na tabela veiculos tenho o campo COD_CLIENTE SELECT * FROM CLIENTES INNER JOIN VEICULOS ON COD = COD.CLIENTE OU SELECT * FROM CLIENTES INNER JOIN VEICULOS ON CLIENTES.COD = VEICULOS.COD_CLIENTE ou veja esse link https://www.sqlguides.com/sql_inner_join.php abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 renanbg Postado Julho 2, 2018 Autor Denunciar Share Postado Julho 2, 2018 (editado) O select está correto, o problema acontece quando faço a busca de um cliente no cadastro de clientes. Aparentemente, mesmo fechando a query ao sair do formulario, o filtro que fiz permanece ativo. Então ao acessar a tela de contas a receber, a busca traz todas contas que selecionei, porém com o nome do cliente em branco, exceto o nome do cliente pesquisado anteriormente, Editado Julho 2, 2018 por renanbg Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Julho 2, 2018 Denunciar Share Postado Julho 2, 2018 baixe o Mysql Front ... ele vai te ajudar na criação e testes de SQL fora do seu programa https://www.google.com.br/search?source=hp&ei=ppI6W4HrEMyJwgTbgpCgCA&q=mysql+front+portugues&o que=mysql+front&gs_l=psy-ab.1.6.0l8.1591.4198.0.8945.11.9.0.2.2.0.123.780.1j6.7.0....0...1c.1.64.psy-ab..2.9.801...0i131k1.0.IFuyckj-QLs abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 renanbg Postado Julho 3, 2018 Autor Denunciar Share Postado Julho 3, 2018 (editado) Agradeço a ajuda Jhonas, mas isso é um problema no filtro da query clientes que fica ativo, mesmo eu fechando ela. Se eu acessar a tela de contas a receber diretamente, sem passar pela de clientes, tudo da certo. Descobri agora que isso ocorre porque fiz o select usando a propria query de clientes. Seria correto usar uma query para buscas e outra para gravar/editar/excluir? Editado Julho 3, 2018 por renanbg Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Julho 3, 2018 Denunciar Share Postado Julho 3, 2018 Seria correto usar uma query para buscas e outra para gravar/editar/excluir? Sim.. voce poderia usar o componente UpdateSQL1 ( usando as propriedades DeleteSQL, InsertSQL e ModifySQL ) mas se tiver dificuldade com esse componente, continue a usar a forma como esta acostumado abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 renanbg Postado Julho 3, 2018 Autor Denunciar Share Postado Julho 3, 2018 Então Jhonas. Já uso o updatesql em conjunto com a query e o datasource para editar, gravar e excluir. Agora adicionei uma nova query somente para consultas, mas perdi o controle dos botões alterar e cancelar, que eu fazia no evento de onstatechange do datasource que grava. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Julho 3, 2018 Denunciar Share Postado Julho 3, 2018 Eu uso uma 1ª query para pesquisar o registro que eu desejo (botões - inserir, alterar, deletar, ou imprimir ) Depois de selecionar o registro, eu passo um campo desse registro como parametro para uma 2ª query, para trazer para tela os campos desse registro. depois para Salvar (botão => Ok ) ou Cancelar ( botão => Cancel ) eu uso o ClienteDataSet para essa finalidade, que esta ligado a minha 2ª query ClienteDataSet1.Post; ClienteDataSet1.ApplyUpdates(-1); // Salvar ou ClienteDataSet1.Cancel; // Cancelar Não tem erro. abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
renanbg
Estou usando componentes da paleta interbase. O inner join não atualiza traz os nomes dos clientes no dbgrid.
Para que isso ocorra, eu faço esse procedimento
Faço a busca de um cliente no cadastro de clientes
Select nome, idade from clientes where nome like ed.text
Ao sair do formulario de clientes, fecho a query de clientes.
Aí, ao acessar a tela de contas a receber, faço esse select
Select * from contas a receber cr inner join clientes cl on cl.codigo = cr.cod_cliente order by vencimento
Ocorre que todos os nomes saem em branco, exceto aquele ultimo que pesquisei lá no cadastro de clientes.
Porque, mesmo dando um close, a pesquisa não traz todos resultados?
Link para o comentário
Compartilhar em outros sites
7 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.