Usuário com melhor resposta
Problemas com gerar query de sql

Pergunta
-
SELECT * FROM ViewRelVerbas where cnpj = xxxxxx AND codigo_verba = '1' AND descricao_departamento = 'Logística'
primeiira busca que funciona
agora se eu fizer passando somente esses dois dados
codigo_verba = '1' descricao_departamento = 'Logística' vai babar na construção da minha query pois quebra o meu ifcom !
não sei como fazer essa verificação sem repetição absurda de código
com meu codigo apos o if Session(cnpj) <> "" ...
passando os dados citados acima(codigo_verba = '1' descricao_departamento = 'Logística' ) vai gerar a query abaixo:
SELECT * FROM ViewRelVerbas where codigo_verba = '1' where descricao_departamento = 'Logística'
Alguém pode me ajudar ?
Desde já muito obrigado !
Meu código
Dim whercond As String = "" Dim andCond As String = "" If ReportViewer1.LocalReport.DataSources.Count = 0 Then ' -- VERIFICACAO DE CAMPOS PREENCHIDOS PARA GERAR RELATORIO If Session("cnpj") <> "" Then whercond = " where cli_cgc = '" & Session("cnpj") & "'" If Session("codigo") <> "" Then andCond = andCond & " AND codigo_verba = '" & Session("codigo") & "'" End If If Session("data") <> "" Then andCond = andCond & " AND data_operacao = '" & Session("data") & "'" End If If Session("descricao") <> "" Then andCond = andCond & " AND descricao_verba = '" & Session("descricao") & "'" End If If Session("situacao") <> "" Then andCond = andCond & " AND situacao = '" & Session("situacao") & "'" End If If Session("valorOrigina") <> "" Then andCond = andCond & " AND valor_original = '" & Session("valorOrigina") & "'" End If If Session("tipoVerba") <> "" Then andCond = andCond & " AND descricao_tipo = '" & Session("tipoVerba") & "'" End If If Session("departamento") <> "" Then andCond = andCond & " AND descricao_departamento = '" & Session("departamento") & "'" End If End If If Session("Codigo") <> "" And Not (Session("cnpj") <> "") Then andCond = " where codigo_verba = '" & Session("Codigo") & "'" End If If Session("data") <> "" And Not (Session("cnpj") <> "") Then andCond = andCond & " where data_operacao = '" & Session("data") & "'" End If If Session("descricao") <> "" And Not (Session("cnpj") <> "") Then andCond = andCond & " where descricao_verba = '" & Session("descricao") & "'" End If If Session("situacao") <> "" And Not (Session("cnpj") <> "") Then andCond = andCond & " where situacao = '" & Session("situacao") & "'" End If If Session("valorOrigina") <> "" And Not (Session("cnpj") <> "") Then andCond = andCond & " where valor_original = '" & Session("valorOrigina") & "'" End If If Session("tipoVerba") <> "" And Not (Session("cnpj") <> "") Then andCond = andCond & " where descricao_tipo = '" & Session("tipoVerba") & "'" End If If Session("departamento") <> "" And Not (Session("cnpj") <> "") Then andCond = andCond & " where descricao_departamento = '" & Session("departamento") & "'" End If
- Editado Caio Almeida DJr quarta-feira, 3 de janeiro de 2018 15:43 erro de visualização
Respostas
-
Deste jeito:
Dim whercond As String = "" Dim cond As String = "" If ReportViewer1.LocalReport.DataSources.Count = 0 Then ' -- VERIFICACAO DE CAMPOS PREENCHIDOS PARA GERAR RELATORIO If Session("cnpj") <> "" Then cond = " cli_cgc = '" & Session("cnpj") & "'" end if If Session("codigo") <> "" Then cond = cond & iif(cond<>""," AND ", "") & "codigo_verba = '" & Session("codigo") & "'" End If If Session("data") <> "" Then cond = cond & iif(cond<>""," AND ", "") & "data_operacao = '" & Session("data") & "'" End If If Session("descricao") <> "" Then cond = cond & iif(cond<>""," AND ", "") & "descricao_verba = '" & Session("descricao") & "'" End If If Session("situacao") <> "" Then cond = cond & iif(cond<>""," AND ", "") & "situacao = '" & Session("situacao") & "'" End If If Session("valorOrigina") <> "" Then cond = cond & iif(cond<>""," AND ", "") & "valor_original = '" & Session("valorOrigina") & "'" End If If Session("tipoVerba") <> "" Then cond = cond & iif(cond<>""," AND ", "") & "descricao_tipo = '" & Session("tipoVerba") & "'" End If If Session("departamento") <> "" Then cond = cond & iif(cond<>""," AND ", "") & "descricao_departamento = '" & Session("departamento") & "'" End If whercond="WHERE "& cond
att
William John Adam Trindade
Analyste-programmeur
Sogi Informatique ltée
If you found this post helpful, please "Vote as Helpful". If it actually answered your question, remember to "Mark as Answer". Se achou este post útil, por favor clique em "Votar como útil". Se por acaso respondeu sua dúvida, lembre de "Marcar como Resposta".
- Editado William John Adam TrindadeModerator quarta-feira, 3 de janeiro de 2018 17:10
- Sugerido como Resposta Rafael Almeida - MVPMVP quarta-feira, 3 de janeiro de 2018 17:22
- Marcado como Resposta Filipe B CastroModerator quinta-feira, 4 de janeiro de 2018 16:03
Todas as Respostas
-
Deste jeito:
Dim whercond As String = "" Dim cond As String = "" If ReportViewer1.LocalReport.DataSources.Count = 0 Then ' -- VERIFICACAO DE CAMPOS PREENCHIDOS PARA GERAR RELATORIO If Session("cnpj") <> "" Then cond = " cli_cgc = '" & Session("cnpj") & "'" end if If Session("codigo") <> "" Then cond = cond & iif(cond<>""," AND ", "") & "codigo_verba = '" & Session("codigo") & "'" End If If Session("data") <> "" Then cond = cond & iif(cond<>""," AND ", "") & "data_operacao = '" & Session("data") & "'" End If If Session("descricao") <> "" Then cond = cond & iif(cond<>""," AND ", "") & "descricao_verba = '" & Session("descricao") & "'" End If If Session("situacao") <> "" Then cond = cond & iif(cond<>""," AND ", "") & "situacao = '" & Session("situacao") & "'" End If If Session("valorOrigina") <> "" Then cond = cond & iif(cond<>""," AND ", "") & "valor_original = '" & Session("valorOrigina") & "'" End If If Session("tipoVerba") <> "" Then cond = cond & iif(cond<>""," AND ", "") & "descricao_tipo = '" & Session("tipoVerba") & "'" End If If Session("departamento") <> "" Then cond = cond & iif(cond<>""," AND ", "") & "descricao_departamento = '" & Session("departamento") & "'" End If whercond="WHERE "& cond
att
William John Adam Trindade
Analyste-programmeur
Sogi Informatique ltée
If you found this post helpful, please "Vote as Helpful". If it actually answered your question, remember to "Mark as Answer". Se achou este post útil, por favor clique em "Votar como útil". Se por acaso respondeu sua dúvida, lembre de "Marcar como Resposta".
- Editado William John Adam TrindadeModerator quarta-feira, 3 de janeiro de 2018 17:10
- Sugerido como Resposta Rafael Almeida - MVPMVP quarta-feira, 3 de janeiro de 2018 17:22
- Marcado como Resposta Filipe B CastroModerator quinta-feira, 4 de janeiro de 2018 16:03
-
-
Se minha soluçao resolveu seu problema, por favor, marque-a como correta para que o forum a considere encerrada.
Obrigado
William John Adam Trindade
Analyste-programmeur
Sogi Informatique ltée
If you found this post helpful, please "Vote as Helpful". If it actually answered your question, remember to "Mark as Answer". Se achou este post útil, por favor clique em "Votar como útil". Se por acaso respondeu sua dúvida, lembre de "Marcar como Resposta".- Editado William John Adam TrindadeModerator quinta-feira, 4 de janeiro de 2018 16:51