ERRO NO COMANDO

 Tópico anterior Próximo tópico Novo tópico

ERRO NO COMANDO

VB.NET

 Compartilhe  Compartilhe  Compartilhe
#460904 - 14/04/2016 18:52:56

FERRUBIM
PORTO ALEGRE
Cadast. em:Novembro/2012


Tenho o comando abaixo  porem da o seguinte erro:  Referncia de objeto no definida para uma instncia de um objeto.
o erro porque em um dos campos , TB_CONTRATO_1.ID_USUARIO,  nao existe na  dbo.TB_USUARIO  retornando null.no campo  U.CD_USUARIO AS CD_USUARIO_RESP,...como posso fazer para q nao de o erro ????

            Using ctxsisa = New SISAEntities()
                Dim resultado = ctxsisa.vw_busca_cliente_banco.SqlQuery([]SELECT DISTINCT(NM_BANCO),NM_PESSOA,AN_CNPJ_CPF,CD_CLIENTE,Contratos_Excluidos,Contratos_Ativos,Contratos_Total,CD_USUARIO_RESP,Expr1  From vw_busca_cliente_banco where  nm_pessoa like [][] & txtNome.Text & []%[]  Order By NM_PESSOA,NM_BANCO[]).ToList()

a view que faz a busca essa:
CREATE VIEW [dbo].[vw_busca_cliente_banco]
AS
SELECT DISTINCT tb1.CD_CLIENTE,
                          (SELECT     COUNT(FL_EXCLUIDO) AS Expr1
                            FROM          dbo.TB_CONTRATO
                            WHERE      (CD_CLIENTE = tb1.CD_CLIENTE) AND (ID_BANCO = B.ID_BANCO) AND
                            (FL_EXCLUIDO = []1[])) AS Contratos_Excluidos,
                          (SELECT     COUNT(FL_EXCLUIDO) AS Expr1
                            FROM          dbo.TB_CONTRATO AS TB_CONTRATO_3
                            WHERE      (CD_CLIENTE = tb1.CD_CLIENTE) AND (ID_BANCO = B.ID_BANCO)
                            AND (FL_EXCLUIDO = []0[])) AS Contratos_Ativos,
                          (SELECT     COUNT(FL_EXCLUIDO) AS Expr1
                            FROM          dbo.TB_CONTRATO AS TB_CONTRATO_2,dbo.TB_BANCO AS B
                            WHERE      (CD_CLIENTE = tb1.CD_CLIENTE) AND (TB_CONTRATO_2.ID_BANCO = B.ID_BANCO)) AS Contratos_Total, tb1.AN_CNPJ_CPF,
                             tb1.NM_PESSOA, B.DS_BANCO AS NM_BANCO, U.CD_USUARIO AS CD_USUARIO_RESP,
                      TB_CONTRATO_1.CD_CLIENTE AS Expr1
FROM  dbo.TB_PESSOA AS tb1
INNER JOIN  dbo.TB_CONTRATO AS TB_CONTRATO_1 ON tb1.CD_CLIENTE = TB_CONTRATO_1.CD_CLIENTE
INNER JOIN  dbo.TB_BANCO AS B ON B.ID_BANCO = TB_CONTRATO_1.ID_BANCO AND tb1.CD_CLIENTE = TB_CONTRATO_1.CD_CLIENTE
LEFT OUTER JOIN  dbo.TB_USUARIO AS U ON U.ID_USUARIO = TB_CONTRATO_1.ID_USUARIO
GO




#460908 - 14/04/2016 19:16:40

COQUITO
BELO HORIZONTE
Cadast. em:Junho/2014


faa uma comparao dos campos da tua tabela que est relacionado teu INNER JOIN


Deus melhor amigo meu...


Resposta escolhida #460910 - 14/04/2016 19:32:53

KERPLUNK
RIO GRANDE DO SUL
Cadast. em:Junho/2009


Membro da equipe
Amigo, o erro no o SQL. Referncia de objeto no definida, diz respeito algum objeto no declarado corretamente. Teria que ser algo como:

Dim resultado As Recordset = ctxsisa.vw_busca_cliente_banco.SqlQuery........


_______________________________________________________________________
Virei Orculo!
The end is nigh, be ready for the nukes!


#460911 - 14/04/2016 19:42:57

FERRUBIM
PORTO ALEGRE
Cadast. em:Novembro/2012


na tabela  TB_CONTRATO_1 campo  ID_USUARIO est com 0 e esse valor no tem na tabela TB_USUARIO , campo ID_USUARIO
se vou na TB_CONTRATO e coloco um valor que existe,funciona  o comando....isso que nao estou entendendo....
o que devo colocar nessa parte do comando:???  ja tentei tambem com INNER JOIN e d o mesmo erro

LEFT OUTER JOIN  dbo.TB_USUARIO AS U ON U.ID_USUARIO = TB_CONTRATO_1.ID_USUARIO



#460914 - 14/04/2016 19:51:43

KERPLUNK
RIO GRANDE DO SUL
Cadast. em:Junho/2009


Membro da equipe
claro que vai dar o mesmo erro. J te falei qual o problema e no o comando SQL em si.

_______________________________________________________________________
Virei Orculo!
The end is nigh, be ready for the nukes!


 Tópico anterior Próximo tópico Novo tópico


Tópico encerrado, respostas não sao permitidas
Encerrado por FERRUBIM em 16/04/2016 12:26:17