estou com duvida com dbexpress

05/12/2003

1

galera estou fazendo uma aplicação com dbexpress, estou utilizando os seguintes componentes:
TSQLQuery, TDataSetProvader, TDataSetClient, TDataSource

qdo tenho uma unica tabela. o insert, o edit e o delete funciona normalmente.

agora que vem o problema ?
qdo tenho um select com mais de uma tabela, por exemplo.

SELECT [b:d002ff153c]TributosItensDesc.*[/b:d002ff153c], TributosDesc.DescricaoDesc,
TributosItens.DescItemTrib

FROM TRIBUTOSITENSDESC, TRIBUTOSDESC, TRIBUTOSITENS

WHERE (TributosDesc.Coddesc = TributosItensDesc.coddesc)
AND
(TributosItens.coditemtrib = TributosItensDesc.coditemtrib)

a tabela [b:d002ff153c]TributosItensDesc.*[/b:d002ff153c] é qual eu quero fazer o insert, o edit e o delete , mas não funciona ele da erro no campo TributosItens.DescItemTrib fala que não existe o campo na tabela, mas não existe mesmo.
eu so quero mostrar a descricao do campo por isso que coloco isso TributosItens.DescItemTrib.

como eu faço para inserir, alterar e deletar sem ele querer alterar este campo que não é tabela TributosItens.DescItemTrib

urgente

felipe.cremm@ig.com.br


Responder

Posts

05/12/2003

Thiago Vidal

Sei que o ideal seria usar um master source, mas eu utilizo um método que tem funcionado.

para executar comandos SQL que nao retornam nenhum registro, eu uso o método ExecuteDirect da SQLConnection, ex:

SQLConnection1.ExecuteDirect(´insert into tabela.....´);


e depois para atualizar os dados eu dou um: ClientDataSet1.Refresh;


Responder

05/12/2003

Fred

Não sei se com este select seu vai funcionar, mas eu faço assim:

select V.*, M.NOME_MODELO from VEICULO V
inner join MODELOS M on(M.COD_MODELO = V.COD_MODELO)

tudo bem trouxe campos de duas tabelas agora tenho que falar pro dataset que ele nao deve atualizar o NOME_MODELO que nao é campo da tabela VEICULO

abra o editor de fields da query(no meu caso SQLDataSet) mude as provider Flags de NOME_MODELO pfInUpdate = False pronto o dataset nao faz Insert ou Update no campo.


Responder
×
+1 DevUP
Acesso diário, +1 DevUP
Parabéns, você está investindo na sua carreira