ERRO AO CARREGAR DATASET
Boa tarde!
Tenho a seguinte SQL:
[Ô]SELECT *FROM endereco WHERE idpessoa = (SELECT idpessoa FROM funcionario WHERE idfuncionario = @idfuncionario)[Ô]
estou tentando preencher o dataset assim:
variavelADAPTER.fill(MEUDATASET,[Ô]endereco[Ô])
está dando erro, dizendo que a consulta tem mais de um retorno.
alguém sabe o pq?
Tenho a seguinte SQL:
[Ô]SELECT *FROM endereco WHERE idpessoa = (SELECT idpessoa FROM funcionario WHERE idfuncionario = @idfuncionario)[Ô]
estou tentando preencher o dataset assim:
variavelADAPTER.fill(MEUDATASET,[Ô]endereco[Ô])
está dando erro, dizendo que a consulta tem mais de um retorno.
alguém sabe o pq?
Porque não usar um DataReader?
Citação::
Porque não usar um DataReader?
me de um exemplo de como você faria usando um datareader por favor, apesar que eu acho que o problema esteja na sql e não na forma de como carregar, pq já tentei carregar usando datareader com datatable.
Eu acho que você está colocando um campo de idpessoa na tabela de endereco, ai está dando conflito com a outra consulta que retorna o mesmo tipo de campo.
tente colocando um apelido para o campo como abaixo:
[Ô]SELECT * FROM endereco WHERE idpessoa = (SELECT idpessoa as ID FROM funcionario WHERE idfuncionario = @idfuncionario)[Ô]
Se não der certo, tente assim:
SELECT * FROM endereco WHERE idpessoa IN (SELECT idpessoa as ID FROM funcionario WHERE idfuncionario = @idfuncionario)
vlw
tente colocando um apelido para o campo como abaixo:
[Ô]SELECT * FROM endereco WHERE idpessoa = (SELECT idpessoa as ID FROM funcionario WHERE idfuncionario = @idfuncionario)[Ô]
Se não der certo, tente assim:
SELECT * FROM endereco WHERE idpessoa IN (SELECT idpessoa as ID FROM funcionario WHERE idfuncionario = @idfuncionario)
vlw
Citação::
Eu acho que você está colocando um campo de idpessoa na tabela de endereco, ai está dando conflito com a outra consulta que retorna o mesmo tipo de campo.
tente colocando um apelido para o campo como abaixo:
[Ô]SELECT * FROM endereco WHERE idpessoa = (SELECT idpessoa as ID FROM funcionario WHERE idfuncionario = @idfuncionario)[Ô]
Se não der certo, tente assim:
SELECT * FROM endereco WHERE idpessoa IN (SELECT idpessoa as ID FROM funcionario WHERE idfuncionario = @idfuncionario)
vlw
JABA, colocando apelido continua dando o mesmo erro, usando o [Ô]IN[Ô] ele nao da erro, mas carrega todos os endereços cadastrados e não somente os que deveriam ser retornados com a condição.
o erro é esse:
[Ô]mais de um registro foi retornado por uma subconsulta utilizada como expressao[Ô]
quando testo a sql direto no banco funciona perfeitamente.
o banco é postgresql 9.1
vb.net - visual studio 2012
resolvi ja.. burrice minha, o metódo esta correto, mas eu nao estava adicionando o paremetro.. afe
obrigado
obrigado
Tópico encerrado , respostas não são mais permitidas