Tabela Auxiliar

11/04/2013

1

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.
Responder

Posts

11/04/2013

William

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 ...
Responder
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?
Responder
alguém?
Responder

11/04/2013

William

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.
Responder

11/04/2013

William

Leia esse artigo q postei, como exibir dados de várias tabelas mas manipular dados somente de uma tabela:
[url]http://www.devmedia.com.br/providerflags-no-delphi-atualizando-dados-de-uma-unica-tabela/26689[/url]
Responder
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.
Responder

12/04/2013

William

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!
Responder
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?
Responder

12/04/2013

William

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.
Responder
RESOLVIDO
Responder