Tabela Auxiliar

Delphi

11/04/2013

Olá amigos, estou com uma dúvida e gostaria da ajuda de vcs. Seguinte estou fazendo um cadastro de cliente e nele tenho alguns campos que são chaves estrangeiras, exemplo o campo Cidade. Tenho uma tabela de Cidade com quase 6000 registros, qual a melhor forma de fazer esse cadastro? Qual melhor forma de trabalhar com essa chave estrangeira(Cidade) e com a tabela auxiliar(Cidade). Será usar o componente DBLookUpComboBox? Agradeço a ajuda de vcs.
Anderson Ferreira

Anderson Ferreira

Curtidas 0

Respostas

William

William

11/04/2013

Colega entendo que usar DBLookUpComboBox com essa quantidade de registros seria um "tiro no pé" pensando em termos de performance.

Uma alternativa seria construir um formulário auxiliar só para consulta de cidades, onde após o usuário selecionar a cidade correta no DBGrid vc carregaria esse id no campo do correspondente da tabela de cliente.

Nesse formulário vc poderia carregar os dados no DBGrid utilizando um ClientDataSet e filtrar os dados em memória mesmo, desse modo vc não perderia performance no sistema, pois o ClientDataSet pode trabalhar com dados em memória.

Bom seria uma alternativa, mas existem outras ...
GOSTEI 0
Anderson Ferreira

Anderson Ferreira

11/04/2013

então pq fico em dúvida em relação a visualização da informação. Pq como na tabela de cliente ten que ir o código da cidade da tabela de cidade, teria que mostrar o nome da cidade no cadastro de cliente. E no caso de trabalhar com campo lookup direto no dataset?
GOSTEI 0
Anderson Ferreira

Anderson Ferreira

11/04/2013

alguém?
GOSTEI 0
William

William

11/04/2013

Colega nada impede que para visualização dos dados do cliente no DBGrid vc escreva uma instrução SQL com INNER JOIN na tabela de cidades, assim no DBGrid será exibido a descrição da cidade.
GOSTEI 0
William

William

11/04/2013

Leia esse artigo q postei, como exibir dados de várias tabelas mas manipular dados somente de uma tabela:
[url]https://www.devmedia.com.br/providerflags-no-delphi-atualizando-dados-de-uma-unica-tabela/26689[/url]
GOSTEI 0
Anderson Ferreira

Anderson Ferreira

11/04/2013

olá amigo, li o artigo que vc postou e achei bem interessante, muito obrigado. Mais acontece que agora estou com o seguinte erro, fiz conforme seu artigo mas ta dando esse erro

cannot update a complex query with more than one table

Espero que possa me ajudar. Estou usando zeos e mysql.
GOSTEI 0
William

William

11/04/2013

Colega esse erro é bem comum quando estamos trabalhando com mais de uma tabela na mesma instrução SQL de INSERT ou UPDATE.

Você tem Skype?

Fica melhor para explicar e entender como estão configurados seus componentes, posteriormente postamos a solução aqui no fórum!
GOSTEI 0
Anderson Ferreira

Anderson Ferreira

11/04/2013

olá Amigo, agradeço pela sua ajuda, acabei de conseguir. Na paleta do Zeos tem um componente ZUpdateSQL, utilizei ele junto com o ZQuery. Obrigado pela ajuda.

Como coloco resolvido mesmo?
GOSTEI 0
William

William

11/04/2013

Que bom que funcionou!

Não sou moderador dessa sala, mas o colega Joel Rodrigues que é o moderador está sempre passando por aqui, basta postar como resolvido e será fechado o tópico.
GOSTEI 0
Anderson Ferreira

Anderson Ferreira

11/04/2013

RESOLVIDO
GOSTEI 0
POSTAR