SELECT com WHERE dinâmico
Pessoal, antes de mais nada, o cenário: sistema desenvolvido em vb.Net 2010 - Windows Form e banco de dados Microsoft SQL Server Express 2012.
Problema: Tenho uma lista de cidades de um determinado Estado, por exemplo, e quero que o usuário possa selecionar alguma delas para emitir um informativo.
Exemplo: Emitir informativo para SÃO PAULO, CAMPINAS, SÃO CAETANO. Apenas essas três cidades marcadas na CheckedList.
Agora preciso que a string SQL dela perceba isso: Exemplo:
SELECT nome, endereço, cep, cidade, uf FROM LeitoresRevista WHERE cidade IN ('SÃO PAULO',',CAMPINAS','SÃO CAETANO')
Em tempo: uso sempre um Código para a cidade e não o nome, foi apenas para exemplo.
Se o usuário "desmarca" SÃO CAETANO, ela também precisa sair da cláusula WHERE do SELECT
Tem como fazer isso?
Problema: Tenho uma lista de cidades de um determinado Estado, por exemplo, e quero que o usuário possa selecionar alguma delas para emitir um informativo.
Exemplo: Emitir informativo para SÃO PAULO, CAMPINAS, SÃO CAETANO. Apenas essas três cidades marcadas na CheckedList.
Agora preciso que a string SQL dela perceba isso: Exemplo:
SELECT nome, endereço, cep, cidade, uf FROM LeitoresRevista WHERE cidade IN ('SÃO PAULO',',CAMPINAS','SÃO CAETANO')
Em tempo: uso sempre um Código para a cidade e não o nome, foi apenas para exemplo.
Se o usuário "desmarca" SÃO CAETANO, ela também precisa sair da cláusula WHERE do SELECT
Tem como fazer isso?
Alec Candia
Curtidas 0
Melhor post
Eduardo Nery
11/11/2016
Acho que o StringBuilder resolveria esse problema: Assim que o usuário fosse selecionando as cidades ele ia fazendo um append e no final quando o usuário clicasse em um botão "Pesquisar" ele faria o ToString() no teu SQL. Não sei se é a melhor forma, mas é só uma idéia.. Espero ter ajudado.
GOSTEI 1
Mais Respostas
Phelipe
10/11/2016
Da uma lida nessa matéria...
https://msdn.microsoft.com/pt-br/library/system.windows.forms.checkedlistbox.checkedindexcollection(v=vs.110).aspx
https://msdn.microsoft.com/pt-br/library/system.windows.forms.checkedlistbox.checkedindexcollection(v=vs.110).aspx
GOSTEI 1
Alec Candia
10/11/2016
Valeu, Eduardo. Vou fazer uma tentativa com StringBuilder. Já usei esse recurso, mas não lembrava dessa capacidade.
Tenho pra mim que quando a gente fica muito tempo "enroscado" num problema de desenvolvimento, a visão da solução vem sempre de alguém de fora. :-)
Obrigado pela ajuda.
Tenho pra mim que quando a gente fica muito tempo "enroscado" num problema de desenvolvimento, a visão da solução vem sempre de alguém de fora. :-)
Obrigado pela ajuda.
GOSTEI 1
Alec Candia
10/11/2016
Felipe, obrigado por dedicar teu tempo a me ajudar. Dei uma lida no post. Nunca usei esse recurso, mas vou tentar, assim como a sugestão do colega Eduardo. Depois posto aqui o melhor resultado em desempenho e facilidade de compreensão de código.
Por enquanto, fica meu agradecimento a vocês.
Depois vem o feedback.
:-)
Por enquanto, fica meu agradecimento a vocês.
Depois vem o feedback.
:-)
GOSTEI 0
Alec Candia
10/11/2016
Conforme combinado, eis meu retorno.
Optei pelo uso da STRINGBUILDER e foi um sucesso. exatamente o que eu precisava.
Pessoal, estou muito grato a vocês dois pela ajuda.
Abraço!
Optei pelo uso da STRINGBUILDER e foi um sucesso. exatamente o que eu precisava.
Pessoal, estou muito grato a vocês dois pela ajuda.
Abraço!
GOSTEI 1