none
Percorrer todos os registros de duas colunas de uma tabela RRS feed

  • Pergunta

  • Saudações.

    Tenho um campo pesquisa no meu formulário e quero através do parâmetro passado no textbox percorrer os registros de todas as colunas de uma tabela correspondente.

    Por exemplo: digito "Gus", ele me traz tudo que tiver "Gus" dentro da tabela, não importando uma coluna e sim todas da tabela.

    Meu projeto é em windows forms.

    Como faço isso?

    Grato!

    sexta-feira, 22 de maio de 2015 17:29

Respostas

  • Você fala percorrer dentro de uma tabela de um banco de dados, se for, eu nao te recomendo fazer isso,pois vai detonar rapidinho sua aplicação ou mesmo banco, pois imagine uma tabela com 20 colunas e 100mil registros,

    20 x 100.000 = 2000000 vezes vai fazer a pesquisa procurando o valor, te recomendo fazer isso com uma unica coluna e se possível fechar a pesquisa com mais critérios.

    GTSA vantagem de ser inteligente é que podemos fingir que somos imbecis enquanto ao contrario é completamente impossivel

    sexta-feira, 22 de maio de 2015 18:54
  • Você tá certo, mano!

    Como é na tabela de administrador defini com apenas duas colunas, como uso o projeto em camadas, ficou assim:

    SELECT administradorid, nome, login FROM Administrador" WHERE nome ILIKE '%" + nome + "%' OR login ILIKE '%" + nome + "%';

    Deu certinho, mas uma duvida: de que modo seria mais rápida a consulta?

    Assim,

    SELECT administradorid, nome, login FROM Administrador WHERE nome ILIKE '%" + nome + "%' OR login ILIKE '%" + nome + "%'

    ou assim,

    SELECT * FROM Administrador WHERE nome ILIKE '%" + nome + "%' OR login ILIKE '%" + nome + "%'

    Com essa query eu defino na camada BO as colunas que quero mostrar no datagridview.


    sexta-feira, 22 de maio de 2015 19:47
  • A primeira opção, nunca faça "* FROM" pois perde muita performance e pode dar dores de cabeças futuras

    GTSA vantagem de ser inteligente é que podemos fingir que somos imbecis enquanto ao contrario é completamente impossivel

    sexta-feira, 22 de maio de 2015 20:04

Todas as Respostas

  • Você fala percorrer dentro de uma tabela de um banco de dados, se for, eu nao te recomendo fazer isso,pois vai detonar rapidinho sua aplicação ou mesmo banco, pois imagine uma tabela com 20 colunas e 100mil registros,

    20 x 100.000 = 2000000 vezes vai fazer a pesquisa procurando o valor, te recomendo fazer isso com uma unica coluna e se possível fechar a pesquisa com mais critérios.

    GTSA vantagem de ser inteligente é que podemos fingir que somos imbecis enquanto ao contrario é completamente impossivel

    sexta-feira, 22 de maio de 2015 18:54
  • Você tá certo, mano!

    Como é na tabela de administrador defini com apenas duas colunas, como uso o projeto em camadas, ficou assim:

    SELECT administradorid, nome, login FROM Administrador" WHERE nome ILIKE '%" + nome + "%' OR login ILIKE '%" + nome + "%';

    Deu certinho, mas uma duvida: de que modo seria mais rápida a consulta?

    Assim,

    SELECT administradorid, nome, login FROM Administrador WHERE nome ILIKE '%" + nome + "%' OR login ILIKE '%" + nome + "%'

    ou assim,

    SELECT * FROM Administrador WHERE nome ILIKE '%" + nome + "%' OR login ILIKE '%" + nome + "%'

    Com essa query eu defino na camada BO as colunas que quero mostrar no datagridview.


    sexta-feira, 22 de maio de 2015 19:47
  • A primeira opção, nunca faça "* FROM" pois perde muita performance e pode dar dores de cabeças futuras

    GTSA vantagem de ser inteligente é que podemos fingir que somos imbecis enquanto ao contrario é completamente impossivel

    sexta-feira, 22 de maio de 2015 20:04