代码如下,点击查询按钮时正常显示结果,再点击报表控件中的打印或缩放按钮时,就让我输入登录信息,user id,password ,database等log on 信息,谢谢。       
        DataSet ds = new ReportLogic().GetReport();
        ConnectionInfo conn = new ConnectionInfo();
        conn.ServerName =  ConfigurationSettings.AppSettings["ConnectionServer"].ToString();
        conn.DatabaseName =  ConfigurationSettings.AppSettings["ConnectionDatabase"].ToString();
        conn.UserID = ConfigurationSettings.AppSettings["ConnectionUserId"].ToString();
        conn.Password =ConfigurationSettings.AppSettings["ConnectionPwd"].ToString();        ReportDocument customerReport = new ReportDocument();
        string reportPath = Server.MapPath("CrystalReport.rpt");
        customerReport.Load(reportPath);        TableLogOnInfo tableLogonInfo = new TableLogOnInfo();
        tableLogonInfo.ConnectionInfo = conn;        customerReport.Database.Tables[0].ApplyLogOnInfo(tableLogonInfo);
        customerReport.Database.Tables[0].SetDataSource(ds.Tables[0]);        CrystalReportViewer1.ReportSource = customerReport;
        CrystalReportViewer1.DataBind();

解决方案 »

  1.   

     
     string sql = "select * from record";
            DataSet ds = new DataSet();
            ds = sqlhelper.ExecuteDataSet(sql);
            ReportDocument doc = new ReportDocument();
            
            doc.Load(Server.MapPath("CrystalReport.rpt"));
            doc.SetDataSource(ds.Tables[0]);
            CrystalReportViewer1.ReportSource = doc;
      

  2.   

    哦,有缘有缘.sql里面这样写是可以的,你先试下,用你的连接字符串做下别的数据库操作。
      

  3.   

    连接串是从webconfig里搞来的
      

  4.   


    /从web.config获得连接字符串
    public string connStr = ConfigurationManager.ConnectionStrings["testConnectionString"].ConnectionString;   
    //定义要执行的strSql语句,你自己加
    public string sql="";
    SqlConnection cn = null;
            SqlCommand cmd = null;
                      cn = new SqlConnection(connStr);
                cn.Open();
                cmd = new SqlCommand(strSql, cn);
                
                SqlDataAdapter da = new SqlDataAdapter(strSql, cn);
                DataSet ds = new DataSet();
                da.Fill(ds);
              ReportDocument doc = new ReportDocument();
            
            doc.Load(Server.MapPath("CrystalReport.rpt"));
            doc.SetDataSource(ds.Tables[0]);
            CrystalReportViewer1.ReportSource = doc;你再试下。
      

  5.   

    这句写错了,改成如下
    //定义要执行的strSql语句,你自己加
    public string strSql="";
      

  6.   

    不行啊,
    每次点击按钮时很正常,没有问题
    但是点击报表控件的打印或缩放时,就会出现登录提示
    真是烦人
    crystalreport是vs2008自带的
    报表控件上还看到powered by business objects图标。
      

  7.   

    解决问题了http://topic.csdn.net/u/20090219/14/7773ff19-cc76-4575-9c9e-9e92cedb5bed.html