Código SQL não funciona com DBExpress!
Olá pessoal.
Tenho um código SQL no meu projeto que objetiva realizar subselects que preenchem campos ´virtuais´ com a descrição de outros campos (estrangeiros) que encontram-se em outras tabelas.
O código funciona perfeitamente, entretanto ao incluir um novo registro (usando DBExpress com UIB Firebird + FB2) dá um erro informando: Column does not belong to referenced tables (ou seja, Coluna não pertence a tabela referenciada).
Só que, o mesmo código funciona em inclusões/alterações no SQL Editor do IBExpert, ou seja, o código é um legítimo SQL...
Segue o código....
Observe que o código SQL é parametrizado.
Tenho um código SQL no meu projeto que objetiva realizar subselects que preenchem campos ´virtuais´ com a descrição de outros campos (estrangeiros) que encontram-se em outras tabelas.
O código funciona perfeitamente, entretanto ao incluir um novo registro (usando DBExpress com UIB Firebird + FB2) dá um erro informando: Column does not belong to referenced tables (ou seja, Coluna não pertence a tabela referenciada).
Só que, o mesmo código funciona em inclusões/alterações no SQL Editor do IBExpert, ou seja, o código é um legítimo SQL...
Segue o código....
Observe que o código SQL é parametrizado.
select CODIGO, CODLOJA, CODCLIENTETITULAR, CODPLANO, CODTIPOCOBRANCA, CODVENDEDOR, CODCOBRADOR, CODINDICACAO, CODCLIENTEBASECALCULO, SITCONTRATO, TXADESAOPAGA, TXADESAODATAPAG, DIAPAGAMENTO, DATASSCONTRATO, DATVENC1PARCELA, VALORENTRADA, VALORMENSALIDADE, ATIVO, DATCADASTRO, (select CLIENTES.NOME from CLIENTES where CLIENTES.codigo = CONTRATOS.CODCLIENTETITULAR) as FK_CLIENTES_CLIENTETITULAR, (select CLIENTES.NOME from CLIENTES where CLIENTES.codigo = CONTRATOS.CODCLIENTEBASECALCULO) as FK_CLIENTES_CLIENTEBASECALCULO, (select PLANOS.PLANO from PLANOS where PLANOS.CODIGO = CONTRATOS.CODPLANO) as FK_PLANOS_NOMEPLANO, (select AUXTIPOSCOBRANCA.DESCRICAO from AUXTIPOSCOBRANCA where AUXTIPOSCOBRANCA.CODIGO = CONTRATOS.CODTIPOCOBRANCA) as FK_AUXTIPOSCOBRANCA_DESCRICAO, (select VENDEDORES.NOME from VENDEDORES where VENDEDORES.CODIGO = CONTRATOS.CODVENDEDOR) as FK_VENDEDORES_NOME, (select COBRADORES.NOME from COBRADORES where COBRADORES.CODIGO = CONTRATOS.CODCOBRADOR) as FK_COBRADORES_NOME, (select AUXINDICACOES.DESCRICAO from AUXINDICACOES where AUXINDICACOES.CODIGO = CONTRATOS.CODINDICACAO) as FK_AUXINDICACOES_DESCRICAO, (select CLIENTES.DATNASCIMENTO from CLIENTES where CLIENTES.codigo = CONTRATOS.CODCLIENTEBASECALCULO) as FK_CLIENTES_DATANASCCLIBASECALC from CONTRATOS where (CODIGO = :CODIGO)
Edsoncabral
Curtidas 0
Respostas
Edsoncabral
09/02/2008
Só para informar, uso componentes DBAware (dbedits, etc) com -> DataSource -> ClientDataSet -> DataSetProvider -> SQLDataSet. Este código está na propriedade CommandText do SQLDataSet e para gravar uso:
ClientDataSetContrato.Post;
ClientDataSetContrato.ApplyUpdates(0);
No aguardo....
ClientDataSetContrato.Post;
ClientDataSetContrato.ApplyUpdates(0);
No aguardo....
GOSTEI 0