zoukankan      html  css  js  c++  java
  • 存储过程操作水晶报表

    这是存储数据库存存储过程

    ALTER proc [dbo].[sp_getpictureinformation]
      (
        @CustID varchar(10),
        @RefNo char(8)
      )
      as
        begin
        
        
        
       select * from(
            select A.*,A_User.CompanyName,A_User.CustID from(
                select  O_OrderWovenLabel.RefNo, O_OrderWovenLabel.ItemNo,O_OrderWovenLabel.Color,O_OrderWovenLabel.Size,
                O_OrderWovenLabel.OrderQty,O_OrderWovenLabel.Seq,O_OrderImg.imgpath
                from O_OrderWovenLabel  join O_OrderImg
                on O_OrderWovenLabel.ItemNo=O_OrderImg.imgItemNO )A,A_User where A_User.CustID=@CustID
                )K
                
                 join M_HBTL

                on K.ItemNo=M_HBTL.ItemNo and K.Color=M_HBTL.Color and K.Size=M_HBTL.Size
                where RefNo=@RefNo

      end

    这是你连接数据存储过程得到的字段(如字段commany,RefNo)

    把字段拖放到Details上

    这是代码操作

    public static void GetBindReportData(string CutsID, string RefNo, CrystalReportViewer crystalReportViewer1)
        {
           SqlConnection Conn=null;
            try
            {

                ParameterFields paramFields = new ParameterFields();  //参数字段 防止不要自已在网页中手动输入参数
                ParameterField paramField1 = new ParameterField();
                ParameterField paramField2 = new ParameterField();
                ParameterDiscreteValue discreteVal1 = new ParameterDiscreteValue();
                ParameterDiscreteValue discreteVal2 = new ParameterDiscreteValue();

                paramField1.ParameterFieldName = "@CustID";
                discreteVal1.Value = CutsID;
                paramField1.CurrentValues.Add(discreteVal1);
                paramFields.Add(paramField1);

                paramField2 = new ParameterField();
                paramField2.ParameterFieldName = "@RefNo";
                discreteVal2.Value = RefNo;
                paramField2.CurrentValues.Add(discreteVal2);
                paramFields.Add(paramField2);
                //将参数字段集合放入查看器控件。
                crystalReportViewer1.ParameterFieldInfo = paramFields;
                ReportDocument rd = new ReportDocument();
     
                rd.Load(@"E:\WebSiteTest\Admin\CrystalReport2.rpt");  //你要载入的报表
                Conn = OpenConn(strConn);
                SqlCommand Cmd = new SqlCommand();
                Cmd.CommandType = CommandType.StoredProcedure;
                Cmd.CommandText = "sp_getpictureinformation";
                Cmd.Connection = Conn;
                Cmd.Parameters.Add("@CustID", SqlDbType.VarChar);
                Cmd.Parameters["@CustID"].Value = CutsID;
                Cmd.Parameters.Add("@RefNO", SqlDbType.Char);
                Cmd.Parameters["@RefNo"].Value = RefNo;
                SqlDataAdapter da = new SqlDataAdapter(Cmd);
                DataSet ds = new DataSet();
                da.Fill(ds, "Throughput");
                rd.SetDataSource(ds.Tables["Throughput"]);  //这里一定要写好,否则它人弹出提示框叫你输入数据库的用户名和密码的,你可以写ds.table[0]
                crystalReportViewer1.ReportSource = rd;//绑定上去
            }
            catch (Exception ex)
            {
                HttpContext.Current.Response.Write(ex.Message);
            }
            finally
            {
                CloseConn(Conn);
                
            }
         

        }

    写到这里,本人也是这段时间做项目刚刚接触一点,希望对朋友们有些帮助!!!

  • 相关阅读:
    清除vs2005、vs2008起始页最近打开项目
    解决VS2005打开js,css,asp.php等文件,中文都是乱码的问题
    “007~ASP 0104~不允许操作”错误的解决方法(图解)
    nofollow标签浪费了多少站长做外链的时间
    如果你的评论被WordPress的Akismet插件屏蔽,怎么解封?
    VPS磁盘划分建立新磁盘
    ASP.NET使用AJAX应注意IIS有没有.ashx扩展
    将磁盘从FAT格式转换为NTFS格式的方法
    C#调用RabbitMQ实现消息队列(转载)
    超燃:2019 中国.NET 开发者峰会视频发布
  • 原文地址:https://www.cnblogs.com/yzenet/p/2473323.html
Copyright © 2011-2022 走看看