ADOQuery SQL Server 2000

Delphi

17/10/2005

Estou tendo o seguinte problema na minha aplicação, gostaria de saber o que pode estar acontecendo.
Tenha uma Tbl_Caixa e uma Tbl_TipoDoc no meu banco, SQL Server, estou utilizando um ADOQuery e um DataSource para postar os dados que preciso na minha Tbl_Caixa.
A String da minha query é a seguinte :

[color=red:7389afca91]select c.*, td.Descricao from Tbl_Caixa c left join Tbl_TipoDocumento td on (c.Id_TipoDocumento=td.Id_TipoDocumento)
where Id_Receber = :pId_Receber[/color:7389afca91]

O uqe está acontecendo qud posto na minha Tbl_Caixa ele gera + um registro na minha Tbl_TipoDoc, onde, como vcs viram na minha string, puxo a descricao somente para visuzalização no meu grid, qud posto na minha Tbl_Caixa ele ta gerando um novo registro com a mesma descrição, essa q puxei no left join.

Como posso resolver esse problema?


Pabloscg

Pabloscg

Curtidas 0

Respostas

Pabloscg

Pabloscg

17/10/2005

A minha Tbl_TipoDoc está com esses registros antes de postar na minha Tbl_Caixa:

[color=blue:ea1a996b30]ID_TipoDoc Descricao
1 Dinheiro
2 Cheque
3 Cartão [/color:ea1a996b30]

Após o Post na minha Tbl_Caixa (q está com a String q citei acima) a minha Tbl_TipoDoc fica assim (qud escolhe por exemplo o tipo doc Id =1)

[color=blue:ea1a996b30]ID_TipoDoc Descricao
1 Dinheiro
2 Cheque
3 Cartão
4 Dinheiro [/color:ea1a996b30]

Não consegui descobrir o que pode ser, primeira vez q trabalho com SQL Server e com o ADO, se alguém tiver uma sugestão de outro componente para poder trabalhar com SQL Server é bem vinda.
Espero ajuda !
Vlw


GOSTEI 0
Bon Jovi

Bon Jovi

17/10/2005

Achei meio confuso o q escreveu, então não sei se entendi bem, mas usar o método Post em DataSets sem DataSetProvider, com uma query que possui mais de uma tabela é querer contar com a sorte. Diz a lenda que o Delphi pega a tabela gravável no primeiro FROM, mas não conseguiria dormir acreditando nisso plenamente. Se vc quer usar Post, nesse caso é melhor usar ClientDataSet + DataSetProvider, onde no evento GetTableName vc especifica a tabela que deseja gravar. Não esquecer tb de setar corretamente os ProviderFlags dos TFields.


GOSTEI 0
POSTAR