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);
 | |
|                             }
 | |
|                         }
 | |
|                     }
 | |
|                 }
 | |
|             }
 | |
|         }
 | |
|     }
 | |
| } |