• Web调用水晶报表


    using System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    using System.Data.OleDb;
    using CrystalDecisions.Shared;
    using CrystalDecisions.CrystalReports.Engine;
    using System.Text;
    using System.Data.Odbc;

    public partial class Purchase : System.Web.UI.Page
    {
        public static OdbcDataAdapter daerp = new OdbcDataAdapter();
        public ReportDocument report = new ReportDocument();
        public DataTable rptdt = new DataTable();

        protected void Page_Load(object sender, EventArgs e)
        {
            ParameterFields paraFields = new ParameterFields();
            ParameterField paraField = new ParameterField();
            ParameterDiscreteValue paravalue = new ParameterDiscreteValue();

            paraField.Name = "單號";
            paravalue.Value = Session["pur_nbr"].ToString();
            paraField.CurrentValues.Add(paravalue);
            paraFields.Add(paraField);

            #region prevent login dialog

            #region 依據廠別加載rpt
            if (Session["rpt_fac"].ToString().Trim() == "'1'")
            {
                report.Load(Server.MapPath("1.rpt"));
            }
            if (Session["rpt_fac"].ToString().Trim() == "'2'")
            {
                report.Load(Server.MapPath("2.rpt"));
            }
            if (Session["rpt_fac"].ToString().Trim() == "'3'")
            {
                report.Load(Server.MapPath("3.rpt"));
            }
            #endregion

            TableLogOnInfo loginfo = new TableLogOnInfo();
            #region
            //loginfo.ConnectionInfo.ServerName = "192.168.1.1";
            loginfo.ConnectionInfo.ServerName = "Server1";
            loginfo.ConnectionInfo.DatabaseName = "Database1";
            loginfo.ConnectionInfo.UserID = "sa";
            loginfo.ConnectionInfo.Password = "sa.";

            report.Database.Tables[2].ApplyLogOnInfo(loginfo);
            report.Database.Tables[8].ApplyLogOnInfo(loginfo);

            TableLogOnInfo loginfo1 = new TableLogOnInfo();
            if (Session["rpt_fac"].ToString().Trim() == "'1'")
            {
                loginfo1.ConnectionInfo.ServerName = "Server2";
                loginfo1.ConnectionInfo.DatabaseName = "Database2";
                loginfo1.ConnectionInfo.UserID = "sa";
                loginfo1.ConnectionInfo.Password = "";
            }
            if (Session["rpt_fac"].ToString().Trim() == "'2'")
            {
                loginfo1.ConnectionInfo.ServerName = "Server3";
                loginfo1.ConnectionInfo.DatabaseName = "Database3";
                loginfo1.ConnectionInfo.UserID = "sa";
                loginfo1.ConnectionInfo.Password = "";
            }
            if (Session["rpt_fac"].ToString().Trim() == "'3'")
            {
                loginfo1.ConnectionInfo.ServerName = "Server4";
                loginfo1.ConnectionInfo.DatabaseName = "Database4";
                loginfo1.ConnectionInfo.UserID = "sa";
                loginfo1.ConnectionInfo.Password = "";
            }
       
            //report.Database.Tables[0].ApplyLogOnInfo(loginfo);
            report.Database.Tables[0].ApplyLogOnInfo(loginfo1);
            report.Database.Tables[1].ApplyLogOnInfo(loginfo1);
            report.Database.Tables[3].ApplyLogOnInfo(loginfo1);
            report.Database.Tables[4].ApplyLogOnInfo(loginfo1);
            report.Database.Tables[5].ApplyLogOnInfo(loginfo1);
            report.Database.Tables[6].ApplyLogOnInfo(loginfo1);
            report.Database.Tables[7].ApplyLogOnInfo(loginfo1);
            #endregion
            #endregion

            try
            {
                #region old
                //report.SetDataSource(rptdt);
                //CrystalReportViewer1.ReportSource = report;
                //CrystalReportViewer1.DataBind();
                #endregion
                CrystalReportViewer1.ReportSource = report;
                CrystalReportViewer1.ParameterFieldInfo = paraFields;
                CrystalReportViewer1.DataBind();
            }
            catch(Exception ex)
            {
                Response.Write(ex.Message);
            }

        }

        private void InitializeComponent()
        {
            this.Unload += new System.EventHandler(this.Purchase_Unload);

        }
        private void Purchase_Unload(object sender, EventArgs e)
        {
            rptdt.Reset();
            report.Dispose();
            report.Close();
        }
    }

  • 相关阅读:
    标准库类型string
    auto与decltype
    理解复合类型的声明
    复合类型
    标识符and名字的作用域
    tar 命令详解(持续更新)
    Linux中的update和upgrade的作用
    mysql中文乱码
    Linux 安装MySql——apt-get版
    Linux mysql开启远程访问
  • 原文地址:https://www.cnblogs.com/gerryge/p/2361493.html
Copyright © 2020-2023  润新知