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