Array
(
)

Como gerar relatorio reportview criando sua query

Edilson L.aguiar
   - 02 mar 2011

Olá pessoal Boa tarde.   URGENTE.  Preciso gerar um relatório ReportView ASP.NET VB, na minha aplicação com flexibilidade de eu construir  a query de consulta conforme dados do usuário em uma texbox, que ora ele informe periodos de datas   ou informe código do cliente, e  no código do cliente eu possa escolher que query construir, conforme   modelo exemplo abaixo ou semelhante.   É possivel , gostaria os colegas postasse um exemplo, pois não estou conseguindo.       Abraços Aguiar. -------------------------------------------- Private Sub Mostra_relatorio()
        Dim conn As SqlConnection = New SqlConnection()
        Dim cmd As SqlCommand = New SqlCommand()
        Dim sql_query As String
        sql_query = "Select * from Movimento Where data_mov between '" & PerI & "'" & _
                     " and '" & PerF & "')"
        conn.ConnectionString = ConfigurationManager.ConnectionStrings("MyConn").ConnectionString
        cmd.Connection = conn
        cmd.CommandType = System.Data.CommandType.Text
        cmd.CommandText = sql_query
        Try
            conn.Open()
            Rel_dup.DataSource = cmd.ExecuteReader
            rel_dup.DataBind()
        Catch ex As Exception
            MsgBox("Erro : " & ex.Message)
        Finally
            conn.Close()
        End Try
    End Sub --------------------------------

Fabio Rosa
   - 02 mar 2011


  Olá Edilson,

Não cheguei a testar seu código, mas percebi que na linha:
Rel_dup.DataSource = cmd.ExecuteReader
estão faltando os parênteses. O correto seria:
Rel_dup.DataSource = cmd.ExecuteReader()
Outros detalhes que faço diferente:
Dim conn As SqlConnection = New SqlConnection()
Dim cmd As SqlCommand = New SqlCommand()
Eu geralmente quando inicio uma instância nova com "New", para o SqlConnection uso o seguinte:
Dim conn As SqlConnection = New SqlConnection(connectionString) já informando a connectionString no construtor.....E para o SqlCommand uso:Dim cmd As SqlCommand = New SqlCommand(sql_query, conn)
também informando a string do comando e a conexão no contrutorassim já crio o command específico na instrução para a conexão específica....
não sei se influencia mas sempre fiz desta forma e sempre funcionou....
Espero ter ajudado...Abraço.