none
Problemas com gerar query de sql RRS feed

  • 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
    quarta-feira, 3 de janeiro de 2018 15:42

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".



    quarta-feira, 3 de janeiro de 2018 17:07
    Moderador

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".



    quarta-feira, 3 de janeiro de 2018 17:07
    Moderador
  • Muito obrigado !
    quarta-feira, 3 de janeiro de 2018 17:46
  • 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".


    quinta-feira, 4 de janeiro de 2018 14:19
    Moderador