none
ADICIONAR AMIGOS - REDE SOCIAL - ASP.NET - Visual Basic

    Question

  • Estou criando uma rede social, para adicionar amigos eu criei duas "tables" uma para solicitação de amizade e outra de amigos (aprovados), o problema que na procura de amigos estou utilizando a table padrão do Visual Studio (aspnet_Users) e gostaria que quando um amigo fosse adicionado/Solicitado ele não encontrasse mais este amigo para solicita amizade. Isso ocorre também na table de solicitação, quando um amigo fosse aceito, eu gostaria que ele não aparece na table de aprovação.

    Tentei utilizar o <> de XX, mas como eu uso uma combinação a teoria dos conjuntos repete todos os usuários. Já tentei utilizar o Distinct do SQL mas não resolveu.

    Este assunto deve ser resolvido facilmente por um especialista em SQL.

    • Moved by AndreAlvesLimaMVP Wednesday, June 22, 2011 7:06 PM (De:.NET Development - Geral)
    Saturday, June 18, 2011 7:57 PM

All replies

  • Estou criando uma rede social, para adicionar amigos eu criei duas "tables" uma para solicitação de amizade e outra de amigos (aprovados), o problema que na procura de amigos estou utilizando a table padrão do Visual Studio (aspnet_Users) e gostaria que quando um amigo fosse adicionado/Solicitado ele não encontrasse mais este amigo para solicita amizade. Isso ocorre também na table de solicitação, quando um amigo fosse aceito, eu gostaria que ele não aparece na table de aprovação.

    Tentei utilizar o <> de XX, mas como eu uso uma combinação a teoria dos conjuntos repete todos os usuários. Já tentei utilizar o Distinct do SQL mas não resolveu.

    Este assunto deve ser resolvido facilmente por um especialista em SQL.

    Vai ao forum Sql.
    One word frees us of all the weight and pain of life: that word is love.
    Sunday, June 19, 2011 9:22 AM

  • Sem mudar sua estrutura, eu pensaria no seguinte: 

    Provavelmente nas duas entidades, a de "AmigosAAdicionar" e a de "AmigosAdicionados", há uma coluna e-mail, ou nome, ou alguma outra informação que você pode utilizar como filtro

    A consulta a tabela de AmigosAAdicionar poderia filtrar os AmigosAdicionados usando essa coluna como critério

    Algo como

    SELECT * FROM AMIGOS_A_ADICIONAR
    WHERE EMAIL NOT IN
    ( SELECT EMAIL FROM AMIGOS_JA_ACICIONADOS )


    []s

     


    Marcelo Ramos
    Sunday, June 19, 2011 11:47 PM
  • Marcelo,

    eu tentei exatamente o que vc falou, mas quando eu utilizo o Where, eu tenho que procurar amigos adicionados usando meus parametros, e excluindo os amigo que tenho, ai é o problema, porque é como se fosse uma matriz e ele repete todos os dados...

     

    como eu fiz


    SELECT * FROM AMIGOS_A_ADICIONAR
    WHERE

    USER ID = EU

    EMAIL NOT IN ( SELECT EMAIL FROM AMIGOS_JA_ACICIONADOS )

    Você tem alguma outra sugestão? E se mudar a estrutura funcionária?

     


    FABIO SERVICE
    Monday, June 20, 2011 1:34 AM
  • Eu acho que nao estou entendendo bem o problema
    A princípio parece uma questão simples de filtro, mas devo estar enganado pelo que diz

    Poste aqui a estrutura exata das tabelas pra que possamos ajudar melhor

    []s

     


    Marcelo Ramos
    Monday, June 20, 2011 2:47 AM
  • SELECT UserId

    FROM aspnet_Membership

    WHERE aspnet_Membership.UserId <> tabelaamigo.AMIGOS_JA_ACICIONADOS

    AND tabelaamigos.USERID = currentuser

    ou seja, eu tenho uma tabela para todos, e para visualizar somente meus amigos, eu criei dois campos

    USERID e outra AMIGOS_JA_ACICIONADOS na tabelaamigo

     

    Mas como eu tenho que fazer um filtro para saber quem são meus amigos, quando eu quero apareça quem eu já adicionei, o SQL / Gridview mostra todos que não São meus amigos e também todos que não sou e Eu. Eu sei que ficou meio complicado. estou adicionado completo abaixo, mas está confuso pq tem tabela de imagem e nomes juntos, mas vai entender a diferença

    QUERY COM TODOS OS NOMES (Sem filtro de quem é amigo)

    SELECT        aspnet_Membership.UserId, tUsuario.UserNome, tImagem.Caminho, aspnet_Membership.Email
    FROM          aspnet_Membership INNER JOIN
                      tUsuario ON aspnet_Membership.UserId = tUsuario.UserId INNER JOIN
                      tImagem ON aspnet_Membership.UserId = tImagem.UserId

    QUERY COM TENTATIVA DE FILTRO <> DE(com filtro de quem é amigo, mas que aparece todos como se fosse uma matriz, pois repete várias vezes cada usuário)

    SELECT        aspnet_Membership.UserId, tUsuario.UserNome, tImagem.Caminho, aspnet_Membership.Email
    FROM          aspnet_Membership INNER JOIN
                      tUsuario ON aspnet_Membership.UserId = tUsuario.UserId INNER JOIN
                      tImagem ON aspnet_Membership.UserId = tImagem.UserId INNER JOIN
                      tAmigos ON aspnet_Membership.UserId <> tAmigos.cAmigo

     


    FABIO SERVICE
    Monday, June 20, 2011 3:08 AM
  • Prezado(a),
    Estou migrando seu post para o fórum de ASP.NET.
    Por favor, das próximas vezes que tiver alguma dúvida relacionada a esse assunto, poste por lá.
    Obrigado pelo apoio.

    André Alves de Lima
    Microsoft MVP - Client App Dev
    Visite o meu site: http://www.andrealveslima.com.br
    Me siga no Twitter: @andrealveslima
    Wednesday, June 22, 2011 7:06 PM
  • ola ...

    Tuesday, February 04, 2014 12:29 AM