none
Como fazer o datagridview apresentar varios valores de uma tabela que possui duas FK relacionadas a mesma tabela RRS feed

  • Pergunta

  • Ola Bom dia, Boa tarde, Boa noite a todos 

    estou fazendo um sistema de formação tenho a tabela formador relacionada com a formação duas vezes com chave estrangeira no join consigo trazer todos os valores certos só que no datagridview ele tras o valor duplicado por causa do datapropertyname ser o mesmo gostaria de saber o que estou fazendo errado 

    alguém me ajuda

    apresento aqui o meu codigo

    CREATE TABLE [dbo].[TB_FORMADOR](
    [ID_FORMADOR] [int] IDENTITY(1,1) NOT NULL,
    [FORMADOR] [varchar](150) NULL,
    [EMAIL] [varchar](150) NULL,
    [TELEFONE] [varchar](150) NULL, 

    e uma tabela Formação

    CREATE TABLE [dbo].[TB_FORMACAO](
    [ID_FORMACAO] [int] IDENTITY(1,1) NOT NULL,
    [ID_CURSO] [int] NULL,

    [FORMADOR] [int] NULL, chave estrangeira de Id_formador
    [FORMADOR1] [int] NULL, chave estrangeira Id_formador

    createproc [dbo].[SP_Visu_Formacao] 
    as
     begin
    SELECT  ID_FORMACAO,t2.NOME,t5.CLIENTE,t31.FORMADOR,t32.FORMADOR 

    join TB_CURSO as t2 on t2.ID_CURSO=t1.ID_CURSO
    join TB_CLIENTE as t5 on t5.ID_CLIENTE=t1.ID_CLIENTE
    join TB_FORMADOR as t31  on t31.ID_FORMADOR =t1.FORMADOR
    join TB_FORMADOR as t32 on t32.ID_FORMADOR=t1.FORMADOR1


    segunda-feira, 15 de janeiro de 2018 11:47

Respostas

  • Desculpa pela demora Obrigado pela atenção Felipe analisei e percebi que não aparecia porque tinha colocado um parâmetro na clausula where do procedimento e ao fazer o databind o parâmetro não tinha aonde ler
    quarta-feira, 17 de janeiro de 2018 08:39

Todas as Respostas

  • Romário, boa tarde!

    Coloque um "alias" no seu select, e tente novamente fazer o bind com o DataGridView.

    SELECT  ID_FORMACAO,t2.NOME,t5.CLIENTE,t31.FORMADOR as formador_1,t32.FORMADOR as formador_2 
    
    join TB_CURSO as t2 on t2.ID_CURSO=t1.ID_CURSO
    join TB_CLIENTE as t5 on t5.ID_CLIENTE=t1.ID_CLIENTE
    join TB_FORMADOR as t31  on t31.ID_FORMADOR =t1.FORMADOR
    join TB_FORMADOR as t32 on t32.ID_FORMADOR=t1.FORMADOR1

    Qualquer dúvida, estou a disposição.

    att.

    Felipe

    segunda-feira, 15 de janeiro de 2018 18:45
  • Desculpa pela demora Obrigado pela atenção Felipe analisei e percebi que não aparecia porque tinha colocado um parâmetro na clausula where do procedimento e ao fazer o databind o parâmetro não tinha aonde ler
    quarta-feira, 17 de janeiro de 2018 08:39