Solved

providing sql username & password to crystal report in asp.net c#

Posted on 2010-08-15
3
516 Views
Last Modified: 2012-05-10
i have a crystal report in asp.net & c#

the rpt file has the sql query with groupings as i require

what i want to do is to provide ONLY the sql username & password using C# code

please note i want to supply just the username & password... NOT wanting to fill the report with a dataset or whatever
CrystalReportViewer1.ReportSource = "BrokerageConsolidatedMonthHO.rpt";
CrystalReportViewer1.SelectionFormula = "Month ({table1.cmonth})=5" + ;

Open in new window

0
Comment
Question by:RakeshBhandari
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
3 Comments
 
LVL 14

Accepted Solution

by:
Dhanasekaran Sengodan earned 500 total points
ID: 33443603
0
 
LVL 7

Expert Comment

by:Alpha Au
ID: 33443765
Please refer to the enclosed method, it can change the datasource, userid, password and databasename of a ReportDocument (support sub-report)

and you can get there information from web.config
            System.Data.SqlClient.SqlConnectionStringBuilder SConn = new System.Data.SqlClient.SqlConnectionStringBuilder(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);
           
            SetCRLogOnInfo(rptDoc, SConn.DataSource, SConn.UserID, SConn.Password, SConn.InitialCatalog);
        public void SetCRLogOnInfo(ReportDocument mainInRD, string dataSource, string userId, string pwd, string DatabaseName)
        {
            //do the main reports database
            TableLogOnInfo logonInfo = null;

            foreach (CrystalDecisions.CrystalReports.Engine.Table table in mainInRD.Database.Tables)
            {
                logonInfo = table.LogOnInfo;
                logonInfo.ConnectionInfo.ServerName = dataSource;
                logonInfo.ConnectionInfo.DatabaseName = DatabaseName;
                logonInfo.ConnectionInfo.UserID = userId;
                logonInfo.ConnectionInfo.Password = pwd;
                table.ApplyLogOnInfo(logonInfo);
            }
            try
            {
                //now update logon info for all sub-reports
                if (!mainInRD.IsSubreport && mainInRD.Subreports != null && mainInRD.Subreports.Count > 0)
                {
                    foreach (ReportDocument rd in mainInRD.Subreports)
                    {
                        SetCRLogOnInfo(rd, dataSource, userId, pwd, DatabaseName);
                    }
                }
            }
            catch
            {
            }
        }

Open in new window

0
 
LVL 2

Author Closing Comment

by:RakeshBhandari
ID: 33498453
thank you!
0

Featured Post

[Webinar] Learn How Hackers Steal Your Credentials

Do You Know How Hackers Steal Your Credentials? Join us and Skyport Systems to learn how hackers steal your credentials and why Active Directory must be secure to stop them. Thursday, July 13, 2017 10:00 A.M. PDT

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Just a quick little trick I learned recently.  Now that I'm using jQuery with abandon in my asp.net applications, I have grown tired of the following syntax:      (CODE) I suppose it just offends my sense of decency to put inline VBScript on a…
A quick way to get a menu to work on our website, is using the Menu control and assign it to a web.sitemap using SiteMapDataSource. Example of web.sitemap file: (CODE) Sample code to add to the page menu: (CODE) Running the application, we wi…
Monitoring a network: why having a policy is the best policy? Michael Kulchisky, MCSE, MCSA, MCP, VTSP, VSP, CCSP outlines the enormous benefits of having a policy-based approach when monitoring medium and large networks. Software utilized in this v…
This is my first video review of Microsoft Bookings, I will be doing a part two with a bit more information, but wanted to get this out to you folks.

624 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question