dados de outro registro

Firebird

04/04/2005

uso o firebird com o delphi 7.
tenho um cadastro de cliente e produtos.
queria q no cadastro de produtos pudesse puxar algum cliente ja cadastrado.
como faco isso ? :?:


Rafael_iga

Rafael_iga

Curtidas 0

Respostas

Gandalf.nho

Gandalf.nho

04/04/2005

Coloque os campos desejados da tabela de clientes na query que exibe os dados dos produtos, ex:

SELECT Produtos.*, Clientes.NomeCliente FROM Produtos
INNER JOIN Clientes ON Produtos.CodigoCliente = Clientes.CodigoCliente



GOSTEI 0
Rafael_iga

Rafael_iga

04/04/2005

cara...
desculpe minha ignorancia,mas nao entendi.
como posso usar isso no meu form ?
um botao busca ?
crio outra query so para fazer a busca ?

OBS: uso os componenetes nativos do INTERbase(na aba interbase)


GOSTEI 0
Rafael_iga

Rafael_iga

04/04/2005

tipo...
num eh cara neh.. :oops: :oops: :oops:
so fui ver depois.... :oops: :oops:


GOSTEI 0
Gandalf.nho

Gandalf.nho

04/04/2005

Vc pode usar a query diretamente no seu form de cadastro, basta configurar certinho o componente IBDataSet para realizar as alterações no banco corretamente ou criar uma view com essa query, usando triggers para tornar a view atualizável (a documentação do Interbase ensina a criar views atualizáveis)

tipo... num eh cara neh.. :oops: :oops: :oops: so fui ver depois.... :oops: :oops:


Nem esquenta a cabeça, já me acostumei com isso :)


GOSTEI 0
Rafael_iga

Rafael_iga

04/04/2005

nunca usei o componente IBdataset.
comoq ele funciona ?
como eu aplicaria ele a esse meu problema ?


GOSTEI 0
Gandalf.nho

Gandalf.nho

04/04/2005

Vc usa qual componente para manipular seu dados? IBQuery + IBUpdateSQL? Ou não usa componentes data-aware?


GOSTEI 0
Rafael_iga

Rafael_iga

04/04/2005

IBDataBase + IBTransaction +
IBQuery + IbUpdate + DataSouce


GOSTEI 0
Gandalf.nho

Gandalf.nho

04/04/2005

O IBDataSet nada mais é do que o conjunto IBQuery + IBUpdateSQL reunido num só componente, ou seja, vc coloca todos os SQL necessários à visualização e manutenção dos dados num só componente, ao invés de dois. Vc provavelmente só usou até agora query simples como origem de dados dos seus forms de cadastro, envolvendo somente uma tabela. É possível montar querys mais complexas, mantendo a capacidade de atualização dos dados.


GOSTEI 0
Rafael_iga

Rafael_iga

04/04/2005

parece ser simples...mas num estou conseguindo de jeito nenhum...

vou explicar de novo.
tenho 3 tabelas,3 triggers e 3 generators.
tabela de clientes,de produtos e produtos finais e seus respectivos generators e triggers.
somente isso.
o q quero eh q na tabela produto final eu possa puxar o cliente,o numero do produto cadastrado(nao o codigo,o numero q foi cadastrado) e descricao desse produto.
ja pesquisar de todas as formas e vi q tem q criar indices....chaves estrangeiras e etc...
mas...nao sei a ordem q tenho q criar isso,eu achei mtas apostilas e tutoriais q explicam como o q cada um eh,mas nenhum explica ao certo.
na revista clube delphi saiu uma materia de acesso do firebird pelo DbExpress,eu tentei fazer,mas o problema eh q ele usa o banco de exemplo do firebird(employee) ai ja ta criado td(indices e etc).
alguem tem como me dar uma luz ?
:(

:?


GOSTEI 0
Gandalf.nho

Gandalf.nho

04/04/2005

Seu problema então não é acesso, inicialmente, e sim noções de modelagem de banco de dados. Vc nunca criou índices e relacionamento entre tabelas em nenhum tipo de banco de dados?


GOSTEI 0
Rafael_iga

Rafael_iga

04/04/2005

nunca criei.
vc tem alguma apostila...artigo sobre isso ?
sobre a modelagem...
q ficar tomando seu tempo tbm,coitada de voce... :?
q no delphi ja tenho uma boa nocao de como fazer,ate as otimizacoes tbm.
mas essa modelagem,criar o banco do modo certo,ta complicado.... :(


GOSTEI 0
Gandalf.nho

Gandalf.nho

04/04/2005

Comece dando uma olhada na documentação do Interbase 6 que já irá te ajudar com a sintaxe dos comandos e outras coisas. Dois sites bons em português para conseguir material sobre o IB/FB são a [url=http://www.firebase.com.br/fb]Firebase[/url] e a [url=http://www.comunidade-firebird.org]CFLP[/url], além da [url=http://www.ibphoenix.com]IBPhoenix[/url] (inglês). Não esqueça do próprio site da Revista que tb tem alguma coisa.


GOSTEI 0
POSTAR