DATASETPROVIDER NAO ESTA GERANDO A SQL CORRETAMENTE!!!
Olá Pessoal!!
Estou fazendo um master/detail com firebird 1.5 no delphi6
usando sqldataset +datasetprovider+clientdataset,
configurei tudo certinho, para que acha o relacionamento entre duas tabelas (pedido ->itempedido), na sqldataset do itempedido esta assim:
select I.CD_PEDIDO, I.CD_PRODUTO, I.NR_ITEM, I.VL_DESCONTO, I.VL_PRECO_TABELA, I.VL_TOTAL_ITEM, I.VL_UNITARIO,
(SELECT PRO.DS_PRODUTO FROM PRODUTO PRO
WHERE PRO.CD_PRODUTO=I.CD_PRODUTO) AS DSPRODUTO
from ITEMPEDIDO I
WHERE I.CD_PEDIDO=:CD_PEDIDO
Coloque no evento do provider ongettablename do provider da tabela itempedido TABLENAME:=´ITEMPEDIDO´ e o sistema da erro, informando que não encontra o campo!! Bom ai eu coloquei o componente sql monitor e vi que o danado do provider esta gerando assim:
INTERBASE - isc_dsql_allocate_statement
insert into ´PRODUTO´
(´CD_PEDIDO´, ´CD_PRODUTO´, ´NR_ITEM´, ´QTD_PRODUTO´, ´VL_TOTAL_ITEM´, ´VL_UNITARIO´)
values (?, ?, ?, ?, ?, ?)
Ou seja pegando a tabela produto , onde eu fiz o select na tabela itempedido.
COMO RESOLVER ISSO!!!!!!!!!!!!!!!
[]S
Fabio Correa
Estou fazendo um master/detail com firebird 1.5 no delphi6
usando sqldataset +datasetprovider+clientdataset,
configurei tudo certinho, para que acha o relacionamento entre duas tabelas (pedido ->itempedido), na sqldataset do itempedido esta assim:
select I.CD_PEDIDO, I.CD_PRODUTO, I.NR_ITEM, I.VL_DESCONTO, I.VL_PRECO_TABELA, I.VL_TOTAL_ITEM, I.VL_UNITARIO,
(SELECT PRO.DS_PRODUTO FROM PRODUTO PRO
WHERE PRO.CD_PRODUTO=I.CD_PRODUTO) AS DSPRODUTO
from ITEMPEDIDO I
WHERE I.CD_PEDIDO=:CD_PEDIDO
Coloque no evento do provider ongettablename do provider da tabela itempedido TABLENAME:=´ITEMPEDIDO´ e o sistema da erro, informando que não encontra o campo!! Bom ai eu coloquei o componente sql monitor e vi que o danado do provider esta gerando assim:
INTERBASE - isc_dsql_allocate_statement
insert into ´PRODUTO´
(´CD_PEDIDO´, ´CD_PRODUTO´, ´NR_ITEM´, ´QTD_PRODUTO´, ´VL_TOTAL_ITEM´, ´VL_UNITARIO´)
values (?, ?, ?, ?, ?, ?)
Ou seja pegando a tabela produto , onde eu fiz o select na tabela itempedido.
COMO RESOLVER ISSO!!!!!!!!!!!!!!!
[]S
Fabio Correa
Fabiotb
Curtidas 0
Respostas
Edilcimar
21/04/2005
olhe o teu select, segunda linha está sendo selecionado produto
GOSTEI 0
Fabiotb
21/04/2005
Eu sei que a segunda linha tem o select do produto, lebrando que no evento ONGETTABLENAME do datasetprovider esta TABLENAME:=´ITEMPEDIDO´;
Sera que não posso o usar o subselects?? eu coloco O dsproduto para o providerflag em update=false
Sera que não posso o usar o subselects?? eu coloco O dsproduto para o providerflag em update=false
GOSTEI 0
Fabiotb
21/04/2005
.
GOSTEI 0
Fabiotb
21/04/2005
.
GOSTEI 0
Fabiotb
21/04/2005
Será que o problema esta no subselects??? Tem como eu interceptar a geração do SQL do datasetprovider??
GOSTEI 0
Otto
21/04/2005
:arrow: Bloqueado.
:arrow: Título em caixa alta,
:arrow: ´Sobe´ mais de uma vez ao dia.
Colega, sugiro que voce leia as regras de conduta do fórum :wink:
:arrow: Título em caixa alta,
:arrow: ´Sobe´ mais de uma vez ao dia.
Colega, sugiro que voce leia as regras de conduta do fórum :wink:
GOSTEI 0