コード例 #1
0
ファイル: SQLParam.ashx.cs プロジェクト: zhouyb1/BeiJing_MES
        public void ProcessRequest(HttpContext context)
        {
            //查询SQL从URL的参数中获得
            ArrayList QueryList = new ArrayList();

            string QuerySQL = context.Request.QueryString["QuerySQL"];

            QueryList.Add(new ReportQueryItem(QuerySQL, "QuerySQL"));

            QuerySQL = context.Request.QueryString["QuerySQL2"];
            if (QuerySQL != null && QuerySQL != "")
            {
                QueryList.Add(new ReportQueryItem(QuerySQL, "QuerySQL2"));

                QuerySQL = context.Request.QueryString["QuerySQL3"];
                if (QuerySQL != null && QuerySQL != "")
                {
                    QueryList.Add(new ReportQueryItem(QuerySQL, "QuerySQL3"));
                }
            }

            string DataText = DataTextProvider.Build(QueryList);

            GridReportDataResponse.Response(context.Response, DataText, GridReportDataResponse.DefaultDataType);
        }
コード例 #2
0
        public void ProcessRequest(HttpContext context)
        {
            //从客户端发送的数据包中获取报表查询参数,URL有长度限制,当要传递的参数数据量比较大时,应该采用这样的方式
            //这里演示了用这样的方式传递一个超长查询SQL语句。
            byte[]       FormData  = context.Request.BinaryRead(context.Request.TotalBytes);
            UTF8Encoding Unicode   = new UTF8Encoding();
            int          charCount = Unicode.GetCharCount(FormData, 0, context.Request.TotalBytes);

            char[] chars             = new Char[charCount];
            int    charsDecodedCount = Unicode.GetChars(FormData, 0, context.Request.TotalBytes, chars, 0);
            String QuerySQL          = new String(chars);

            string DataText = DataTextProvider.Build(QuerySQL);

            GridReportDataResponse.Response(context.Response, DataText, GridReportDataResponse.DefaultDataType);
        }