170 lines
		
	
	
		
			8.8 KiB
		
	
	
	
		
			C#
		
	
	
	
		
		
			
		
	
	
			170 lines
		
	
	
		
			8.8 KiB
		
	
	
	
		
			C#
		
	
	
	
| 
								 | 
							
								using System;
							 | 
						|||
| 
								 | 
							
								using System.Collections.Generic;
							 | 
						|||
| 
								 | 
							
								using System.Data;
							 | 
						|||
| 
								 | 
							
								using System.Data.SqlClient;
							 | 
						|||
| 
								 | 
							
								using System.Linq;
							 | 
						|||
| 
								 | 
							
								using System.Web;
							 | 
						|||
| 
								 | 
							
								using System.Web.UI;
							 | 
						|||
| 
								 | 
							
								using System.Web.UI.WebControls;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								namespace Web.ReportPrint
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
								    public partial class CalculateChinaEx : System.Web.UI.Page
							 | 
						|||
| 
								 | 
							
								    {
							 | 
						|||
| 
								 | 
							
								        protected void Page_Load(object sender, EventArgs e)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            if (!IsPostBack)
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                string strFunc = Request.QueryString["func"].ToString().Trim();
							 | 
						|||
| 
								 | 
							
								                string reportId = Request.QueryString["reportId"].ToString().Trim();
							 | 
						|||
| 
								 | 
							
								                if (strFunc == "GetSqlResult")
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    string strSql = Server.UrlDecode(Request.QueryString["sql"].ToString().Trim());
							 | 
						|||
| 
								 | 
							
								                    string strtype = Request.QueryString["dtype"].ToString().Trim();
							 | 
						|||
| 
								 | 
							
								                    string strSql2 = Server.UrlDecode(Request.QueryString["sql2"].ToString().Trim());
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    if (strSql != "" && strSql != null && strtype != "" && strtype != null)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        // string Connstr = "Provider=SQLNCLI10.1;Integrated Security='';Persist Security Info=False;User ID=sa;Initial Catalog=GOLDB;Data Source=(local);Initial File Name='';Server SPN=''";
							 | 
						|||
| 
								 | 
							
								                        // ADODB.Connection Conn = new ADODB.Connection();
							 | 
						|||
| 
								 | 
							
								                        // coReportEngine.ReportSvr rsave = new coReportEngine.ReportSvr();
							 | 
						|||
| 
								 | 
							
								                        // Conn.Open(Connstr, "", "", -1);
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                        string strTemp = "";
							 | 
						|||
| 
								 | 
							
								                        string strValue = "";
							 | 
						|||
| 
								 | 
							
								                        int intstrCountQuery = Request.QueryString.Count;
							 | 
						|||
| 
								 | 
							
								                        if (intstrCountQuery > 5)
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            for (int i = 0; i < intstrCountQuery; i++)
							 | 
						|||
| 
								 | 
							
								                            {
							 | 
						|||
| 
								 | 
							
								                                strTemp = Server.UrlDecode(Request.QueryString.GetKey(i).ToString());
							 | 
						|||
| 
								 | 
							
								                                if (strTemp != "" && strTemp != "undefined" && strTemp != "func" && strTemp != "reportId" && strTemp != "dtype" && strTemp != "sql" && strTemp != "sql2")
							 | 
						|||
| 
								 | 
							
								                                {
							 | 
						|||
| 
								 | 
							
								                                    strValue = Server.UrlDecode(Request.QueryString[i].ToString());
							 | 
						|||
| 
								 | 
							
								                                    strSql = strSql.Replace("${" + strTemp + "}", strValue);
							 | 
						|||
| 
								 | 
							
								                                    strSql2 = strSql2.Replace("${" + strTemp + "}", strValue);
							 | 
						|||
| 
								 | 
							
								                                }
							 | 
						|||
| 
								 | 
							
								                            }
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        if (strtype == "2")
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            // Response.BinaryWrite((byte[])rsave.GetMainSubData(Conn, strSql, strSql2));
							 | 
						|||
| 
								 | 
							
								                            int iFieldCount = 0;
							 | 
						|||
| 
								 | 
							
								                            string xmlstring;
							 | 
						|||
| 
								 | 
							
								                            xmlstring = "=" + "\n";
							 | 
						|||
| 
								 | 
							
								                            DataSet dataset = new DataSet();
							 | 
						|||
| 
								 | 
							
								                            dataset = BLL.SQLHelper.RunSqlString(strSql, "Report_ReportServer");
							 | 
						|||
| 
								 | 
							
								                            DataTableReader obRead = dataset.CreateDataReader();
							 | 
						|||
| 
								 | 
							
								                            iFieldCount = obRead.FieldCount;
							 | 
						|||
| 
								 | 
							
								                            for (int i = 0; i < iFieldCount; i++)
							 | 
						|||
| 
								 | 
							
								                            {
							 | 
						|||
| 
								 | 
							
								                                if (i == iFieldCount - 1)
							 | 
						|||
| 
								 | 
							
								                                {
							 | 
						|||
| 
								 | 
							
								                                    xmlstring = xmlstring + obRead.GetName(i).ToString() + "\n";
							 | 
						|||
| 
								 | 
							
								                                }
							 | 
						|||
| 
								 | 
							
								                                else
							 | 
						|||
| 
								 | 
							
								                                {
							 | 
						|||
| 
								 | 
							
								                                    xmlstring = xmlstring + obRead.GetName(i).ToString() + "\t";
							 | 
						|||
| 
								 | 
							
								                                }
							 | 
						|||
| 
								 | 
							
								                            }
							 | 
						|||
| 
								 | 
							
								                            if (obRead.Read())
							 | 
						|||
| 
								 | 
							
								                            {
							 | 
						|||
| 
								 | 
							
								                                for (int i = 0; i < iFieldCount; i++)
							 | 
						|||
| 
								 | 
							
								                                {
							 | 
						|||
| 
								 | 
							
								                                    if (i == iFieldCount - 1)
							 | 
						|||
| 
								 | 
							
								                                    {
							 | 
						|||
| 
								 | 
							
								                                        xmlstring = xmlstring + obRead[obRead.GetName(i).ToString()].ToString().Replace("\r\n", "&at;").Replace("\t", " ").Replace("0:00:00", "") + "\n";
							 | 
						|||
| 
								 | 
							
								                                    }
							 | 
						|||
| 
								 | 
							
								                                    else
							 | 
						|||
| 
								 | 
							
								                                    {
							 | 
						|||
| 
								 | 
							
								                                        xmlstring = xmlstring + obRead[obRead.GetName(i).ToString()].ToString().Replace("\r\n", "&at;").Replace("\t", " ").Replace("0:00:00", "") + "\t";
							 | 
						|||
| 
								 | 
							
								                                    }
							 | 
						|||
| 
								 | 
							
								                                }
							 | 
						|||
| 
								 | 
							
								                            }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                            xmlstring = xmlstring + "=" + "\n";
							 | 
						|||
| 
								 | 
							
								                            DataSet dataset1 = new DataSet();
							 | 
						|||
| 
								 | 
							
								                            dataset1 = BLL.SQLHelper.RunSqlString(strSql2, "Report_ReportServer");
							 | 
						|||
| 
								 | 
							
								                            DataTableReader obRead1 = dataset1.CreateDataReader();
							 | 
						|||
| 
								 | 
							
								                            iFieldCount = obRead1.FieldCount;
							 | 
						|||
| 
								 | 
							
								                            for (int i = 0; i < iFieldCount; i++)
							 | 
						|||
| 
								 | 
							
								                            {
							 | 
						|||
| 
								 | 
							
								                                if (i == iFieldCount - 1)
							 | 
						|||
| 
								 | 
							
								                                {
							 | 
						|||
| 
								 | 
							
								                                    xmlstring = xmlstring + obRead1.GetName(i).ToString() + "\n";
							 | 
						|||
| 
								 | 
							
								                                }
							 | 
						|||
| 
								 | 
							
								                                else
							 | 
						|||
| 
								 | 
							
								                                {
							 | 
						|||
| 
								 | 
							
								                                    xmlstring = xmlstring + obRead1.GetName(i).ToString() + "\t";
							 | 
						|||
| 
								 | 
							
								                                }
							 | 
						|||
| 
								 | 
							
								                            }
							 | 
						|||
| 
								 | 
							
								                            while (obRead1.Read())
							 | 
						|||
| 
								 | 
							
								                            {
							 | 
						|||
| 
								 | 
							
								                                for (int i = 0; i < iFieldCount; i++)
							 | 
						|||
| 
								 | 
							
								                                {
							 | 
						|||
| 
								 | 
							
								                                    if (i == iFieldCount - 1)
							 | 
						|||
| 
								 | 
							
								                                    {
							 | 
						|||
| 
								 | 
							
								                                        xmlstring = xmlstring + obRead1[obRead1.GetName(i).ToString()].ToString().Replace("0:00:00", "") + "\n";
							 | 
						|||
| 
								 | 
							
								                                    }
							 | 
						|||
| 
								 | 
							
								                                    else
							 | 
						|||
| 
								 | 
							
								                                    {
							 | 
						|||
| 
								 | 
							
								                                        xmlstring = xmlstring + obRead1[obRead1.GetName(i).ToString()].ToString().Replace("0:00:00", "") + "\t";
							 | 
						|||
| 
								 | 
							
								                                    }
							 | 
						|||
| 
								 | 
							
								                                }
							 | 
						|||
| 
								 | 
							
								                            }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                            Response.Write(xmlstring);
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        else
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            //      Response.BinaryWrite((byte[])rsave.GetData(Conn, strSql));
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                            int iFieldCount = 0;
							 | 
						|||
| 
								 | 
							
								                            string xmlstring;
							 | 
						|||
| 
								 | 
							
								                            xmlstring = "";
							 | 
						|||
| 
								 | 
							
								                            DataSet dataset = new DataSet();
							 | 
						|||
| 
								 | 
							
								                            //dataset = BLL.SQLHelper.RunSqlString(strSql, "TempTable");
							 | 
						|||
| 
								 | 
							
								                            //DataTableReader obRead = dataset.CreateDataReader();
							 | 
						|||
| 
								 | 
							
								                            using (SqlConnection conn = new SqlConnection(BLL.Funs.ConnString))
							 | 
						|||
| 
								 | 
							
								                            {                               
							 | 
						|||
| 
								 | 
							
								                                conn.Open();
							 | 
						|||
| 
								 | 
							
								                                SqlCommand cmd = new SqlCommand(strSql, conn);
							 | 
						|||
| 
								 | 
							
								                                SqlDataReader obRead = cmd.ExecuteReader();
							 | 
						|||
| 
								 | 
							
								                                iFieldCount = obRead.FieldCount;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                                for (int i = 0; i < iFieldCount; i++)
							 | 
						|||
| 
								 | 
							
								                                {
							 | 
						|||
| 
								 | 
							
								                                    if (i == iFieldCount - 1)
							 | 
						|||
| 
								 | 
							
								                                    {
							 | 
						|||
| 
								 | 
							
								                                        xmlstring = xmlstring + obRead.GetName(i).ToString() + "\n";
							 | 
						|||
| 
								 | 
							
								                                    }
							 | 
						|||
| 
								 | 
							
								                                    else
							 | 
						|||
| 
								 | 
							
								                                    {
							 | 
						|||
| 
								 | 
							
								                                        xmlstring = xmlstring + obRead.GetName(i).ToString() + "\t";
							 | 
						|||
| 
								 | 
							
								                                    }
							 | 
						|||
| 
								 | 
							
								                                }
							 | 
						|||
| 
								 | 
							
								                                while (obRead.Read())
							 | 
						|||
| 
								 | 
							
								                                {
							 | 
						|||
| 
								 | 
							
								                                    for (int i = 0; i < iFieldCount; i++)
							 | 
						|||
| 
								 | 
							
								                                    {
							 | 
						|||
| 
								 | 
							
								                                        if (i == iFieldCount - 1)
							 | 
						|||
| 
								 | 
							
								                                        {
							 | 
						|||
| 
								 | 
							
								                                            xmlstring = xmlstring + obRead[obRead.GetName(i).ToString()].ToString().Replace("0:00:00", "").Replace(".000", "") + "\n";
							 | 
						|||
| 
								 | 
							
								                                        }
							 | 
						|||
| 
								 | 
							
								                                        else
							 | 
						|||
| 
								 | 
							
								                                        {
							 | 
						|||
| 
								 | 
							
								                                            xmlstring = xmlstring + obRead[obRead.GetName(i).ToString()].ToString().Replace("0:00:00", "").Replace(".000", "") + "\t";
							 | 
						|||
| 
								 | 
							
								                                        }
							 | 
						|||
| 
								 | 
							
								                                    }
							 | 
						|||
| 
								 | 
							
								                                }
							 | 
						|||
| 
								 | 
							
								                                conn.Close();
							 | 
						|||
| 
								 | 
							
								                                Response.Write(xmlstring);
							 | 
						|||
| 
								 | 
							
								                            }
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								}
							 |