none
String de Conexão ReportViewer RRS feed

  • Pergunta

  • Olá Galera,

    Tenho salvo em meu Properties minha String de Conexão... Gostaria de saber como faço para usa-lá no ReportView? Pois toda vez que mudar a string do servidor terei que alterar o Dataset?

    Me ajudem, please!

    • Movido AndreAlvesLimaModerator quarta-feira, 9 de maio de 2012 18:59 (De:.NET Framework - ADO (Acesso a dados, data access & storage))
    terça-feira, 1 de maio de 2012 02:23

Respostas

  • Olá Rodrigo,

    Seu código para popular o Report deve ficar parecido com isto:

        DataSet ds = new DataSet();
    
        var conString = ConfigurationManager.ConnectionStrings["SuaConnectionString"];
        string strConnString = conString.ConnectionString;
    
        SqlConnection conn = new SqlConnection(strConnString);
        conn.Open();
        string sql = "Select * FROM Orders";
    
        SqlDataAdapter ad = new SqlDataAdapter(sql, conn);
        DataSet ds = new DataSet();        
        ad.Fill(ds);
    
        ReportDataSource rds = new ReportDataSource("Orders", ds.Tables[0]);
        ReportViewer1.LocalReport.DataSources.Clear();
        ReportViewer1.LocalReport.DataSources.Add(rds);
        ReportViewer1.LocalReport.Refresh();

    Se vc estiver utilizando ASP.Net, seu código xhtml deve ficar mais ou menos como isso:

    <div>
        <asp:ScriptManager ID="ScriptManager1" runat="server">
        </asp:ScriptManager>
        <rsweb:ReportViewer ID="ReportViewer1" runat="server" Height="600px" Width="800px">
            <LocalReport ReportPath="Reports\Report.rdlc">
                <DataSources>
                    <rsweb:ReportDataSource />
                </DataSources>
            </LocalReport>
        </rsweb:ReportViewer>
        <asp:GridView ID="GridView1" runat="server">
        </asp:GridView>
    </div>

    []s!


    Fernando Henrique Inocêncio Borba Ferreira
    while(alive){ this.WriteCode(); }
    Blog: http://ferhenriquef.com/
    Twitter: @ferhenrique

    quinta-feira, 3 de maio de 2012 11:32
  • Olá Rodrigo,

    Faltou especificar o caminho do ReportViewer.

    Através da propriedade ReportPath. Veja este link: http://www.devx.com/dotnet/Article/30424/0/page/5

    []s!

    reportViewer.LocalReport.ReportPath = "c:\report\.rdlc";


    Fernando Henrique Inocêncio Borba Ferreira
    while(alive){ this.WriteCode(); }
    Blog: http://ferhenriquef.com/
    Twitter: @ferhenrique

    quinta-feira, 3 de maio de 2012 18:02

Todas as Respostas

  • Olá Rodrigo,

    Tudo beleza?
    Vc esta utilizando o ReportViewer como LocalMode ou ServerMode?

    Se for como ServerMode vc só conseguirá gerenciar sua connection string no servidor mesmo.

    Se for LocalMode vc fornece o source do seu report, no caso vc cria seu DataSet de qual forma?

    []s!


    Fernando Henrique Inocêncio Borba Ferreira
    while(alive){ this.WriteCode(); }
    Blog: http://ferhenriquef.com/
    Twitter: @ferhenrique

    terça-feira, 1 de maio de 2012 03:30
  • Olá Fernando,  tudo bem... e por aí?

    Bom cara, eu estou criando o DataSet usando o Winzard do Visual Studio. Queria mesmo é fazer todo o código na mão mesmo mas não sei como fazer e por onde começar. No meu caso estou utilizando em LocalMode mesmo. 

    Abraços e muito obrigado!

    quinta-feira, 3 de maio de 2012 04:20
  • Olá Rodrigo,

    Seu código para popular o Report deve ficar parecido com isto:

        DataSet ds = new DataSet();
    
        var conString = ConfigurationManager.ConnectionStrings["SuaConnectionString"];
        string strConnString = conString.ConnectionString;
    
        SqlConnection conn = new SqlConnection(strConnString);
        conn.Open();
        string sql = "Select * FROM Orders";
    
        SqlDataAdapter ad = new SqlDataAdapter(sql, conn);
        DataSet ds = new DataSet();        
        ad.Fill(ds);
    
        ReportDataSource rds = new ReportDataSource("Orders", ds.Tables[0]);
        ReportViewer1.LocalReport.DataSources.Clear();
        ReportViewer1.LocalReport.DataSources.Add(rds);
        ReportViewer1.LocalReport.Refresh();

    Se vc estiver utilizando ASP.Net, seu código xhtml deve ficar mais ou menos como isso:

    <div>
        <asp:ScriptManager ID="ScriptManager1" runat="server">
        </asp:ScriptManager>
        <rsweb:ReportViewer ID="ReportViewer1" runat="server" Height="600px" Width="800px">
            <LocalReport ReportPath="Reports\Report.rdlc">
                <DataSources>
                    <rsweb:ReportDataSource />
                </DataSources>
            </LocalReport>
        </rsweb:ReportViewer>
        <asp:GridView ID="GridView1" runat="server">
        </asp:GridView>
    </div>

    []s!


    Fernando Henrique Inocêncio Borba Ferreira
    while(alive){ this.WriteCode(); }
    Blog: http://ferhenriquef.com/
    Twitter: @ferhenrique

    quinta-feira, 3 de maio de 2012 11:32
  • Fernando,

    Para usar as o "ConfigurtionManager" nas duas primeiras linhas você importou alguma referência no topo do projeto?

      var conString = ConfigurationManager.ConnectionStrings["SuaConnectionString"];
        string strConnString = conString.ConnectionString;

    []s!

    quinta-feira, 3 de maio de 2012 15:48
  • Olá Rodrigo,

    Vc precisa fazer referência a DLL System.Configuration.dll e adicionar o namespace System.Configuration no alto da sua classe.

    []s!


    Fernando Henrique Inocêncio Borba Ferreira
    while(alive){ this.WriteCode(); }
    Blog: http://ferhenriquef.com/
    Twitter: @ferhenrique

    quinta-feira, 3 de maio de 2012 16:53
  • Fernando, não deu certo! =/

    Dê uma olhada:

     private void button1_Click(object sender, EventArgs e)
            {
                    var conString = ConfigurationManager.ConnectionStrings[@"Data Source=RODRIGO_G\SQLEXPRESS;User ID=rodrigo;Initial Catalog=bd_fotocopias;pwd=123;"];
                    string strConnString = conString.ConnectionString;

                    SqlConnection conn = new SqlConnection(strConnString);
                    conn.Open();

                    string sql = "SELECT * FROM tb_solicitacao";

                    SqlDataAdapter ad = new SqlDataAdapter(sql, conn);
                    DataSet ds = new DataSet();
                    ad.Fill(ds);

                    ReportDataSource rds = new ReportDataSource("tb_solicitacao", ds.Tables[0]);
                    reportViewer1.LocalReport.DataSources.Clear();
                    reportViewer1.LocalReport.DataSources.Add(rds);
                    reportViewer1.LocalReport.Refresh();
            }

    quinta-feira, 3 de maio de 2012 17:48
  • Olá Rodrigo,

    Faltou especificar o caminho do ReportViewer.

    Através da propriedade ReportPath. Veja este link: http://www.devx.com/dotnet/Article/30424/0/page/5

    []s!

    reportViewer.LocalReport.ReportPath = "c:\report\.rdlc";


    Fernando Henrique Inocêncio Borba Ferreira
    while(alive){ this.WriteCode(); }
    Blog: http://ferhenriquef.com/
    Twitter: @ferhenrique

    quinta-feira, 3 de maio de 2012 18:02
  • Prezado(a),
    Estou migrando seu post para o fórum de Geracao de Relatorios.
    Por favor, das próximas vezes que tiver alguma dúvida relacionada a esse assunto, poste por lá.
    Obrigado.

    André Alves de Lima
    Microsoft MVP - Client App Dev
    Visite o meu site: http://www.andrealveslima.com.br
    Me siga no Twitter: @andrealveslima

    quarta-feira, 9 de maio de 2012 18:59
    Moderador