master/detail com clientdataset
fiz a ligação de 2 clientdatasets com 2 ibquery 1 para cada e 2 datasetprovider 1 para cada e a ligação master/detail pelo mastersource do clientdataset que é detail e na hora de abrir o clientdataset detail ele dá o seguinte erro:´XSQLDA index out of range´.o qeu fiz de errado?
Tap_pedroso
Curtidas 0
Respostas
Afarias
13/09/2004
Nesta configuração, o ibquery do ´detalhe´ deve possuir um SQL do tipo::
select * from tabela where campo_ref=:campo_chave
(o parâmentro ´campo_chave´ deve ter o mesmo nome do campo chave na tabela mestre)
obs:: *talvês* seja necessário tb vc clicar com o botão direito no CDS ´detalhe´ e selecionar a opção ´Fetch Params´
T+
select * from tabela where campo_ref=:campo_chave
(o parâmentro ´campo_chave´ deve ter o mesmo nome do campo chave na tabela mestre)
obs:: *talvês* seja necessário tb vc clicar com o botão direito no CDS ´detalhe´ e selecionar a opção ´Fetch Params´
T+
GOSTEI 0
Tap_pedroso
13/09/2004
1ª porque é melhor usar ibquery ligadas ao datasetprovider do que uma ibtable ou ibdataset?
2ª para fazer relações master/detail o melhor é usar o clientdataset mesmo ou tem algum outro componente para que fique melhor?
obrigado.
2ª para fazer relações master/detail o melhor é usar o clientdataset mesmo ou tem algum outro componente para que fique melhor?
obrigado.
GOSTEI 0
Afarias
13/09/2004
|1ª porque é melhor usar ibquery ligadas ao datasetprovider do que uma
|ibtable ou ibdataset?
a) NUNCA se deve usar TABLES com ou sem CDS
b) como a única função do DataSet (IBQuery ou IBDataSet) quando usado em conjunto com CDSs é a seleção de registros, o IBQuery é mais q suficiente (mais simples) -- mas, a não ser pelo fato do IBQuery permitir o acesso a parâmetros em tempo de projeto, não há diferença entre seu uso ou do IBDataSet.
|2ª para fazer relações master/detail o melhor é usar o clientdataset
|mesmo ou tem algum outro componente para que fique melhor?
A questão não é componente melhor -- ou vc usa CDS ou não. Uma vez q optou pelo seu uso, é importante lembrar q a forma padrão de construir ´mestre/detalhe´ com CDS é por meio de tabelas aninhadas (nested datasets)
Entretanto este ´método padrão´ não é sempre aplicável as nossas necessidades, por isso, em muitas situações é interessante sim implementar mestre/detalhe de outras formas, a exemplo desta que foi descrita na mensagem inicial.
T+
|ibtable ou ibdataset?
a) NUNCA se deve usar TABLES com ou sem CDS
b) como a única função do DataSet (IBQuery ou IBDataSet) quando usado em conjunto com CDSs é a seleção de registros, o IBQuery é mais q suficiente (mais simples) -- mas, a não ser pelo fato do IBQuery permitir o acesso a parâmetros em tempo de projeto, não há diferença entre seu uso ou do IBDataSet.
|2ª para fazer relações master/detail o melhor é usar o clientdataset
|mesmo ou tem algum outro componente para que fique melhor?
A questão não é componente melhor -- ou vc usa CDS ou não. Uma vez q optou pelo seu uso, é importante lembrar q a forma padrão de construir ´mestre/detalhe´ com CDS é por meio de tabelas aninhadas (nested datasets)
Entretanto este ´método padrão´ não é sempre aplicável as nossas necessidades, por isso, em muitas situações é interessante sim implementar mestre/detalhe de outras formas, a exemplo desta que foi descrita na mensagem inicial.
T+
GOSTEI 0
Tap_pedroso
13/09/2004
eu gostei muito de utilizar o cmponente ibdataset eu poderia usa-lo em master/detail(ex:modulo de venda/itens) e colocar (select * from tabela where campo_ref=:campo_chave) no ibdataset detail.será que fica bom.
GOSTEI 0