1.如果是对单个表的处理
------------------------------------------------------------------------------------------
using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Data.SqlClient; using System.Drawing; using System.IO; using System.Text; using CrystalDecisions.Shared; using CrystalDecisions.CrystalReports.Engine; using CrystalDecisions.ReportSource;
public partial class Rpt_EveryMrpPlanningDetail : System.Web.UI.Page { public string sql; public string Itemfrom; public string Itemto; public string Mrpdate; protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { MrpDate_Bind(); sql = "select item,DueDateDay,QtyOnHand,QtyRecv,QtyReq,ExceptMessage,MrpRef,Parent,Lead_time,order_min,order_mult,days_supply,PriVendNum,ReplenPoNum,ProcessDueDate,ProcessQtyReq,ProcessVendNum,RecordDate,UpdateBy,CreateDate from UF_EveryMrpPlanningDetail where convert(varchar(10),CreateDate,120)='2008-10-06' "; Bind(); CrystalReportSource1.ReportDocument.SetDatabaseLogon(PublicVar.UserID, PublicVar.PW, PublicVar.DS, PublicVar.DB); CrystalReportSource1.DataBind(); } } protected void MrpDate_Bind() { string sqlstr = "SELECT distinct(CreateDate) ,convert(varchar(10),CreateDate,120) as mrpdate FROM UF_EveryMrpPlanningDetail order by CreateDate desc"; //SELECT convert(varchar(10),CreateDate,120) as mrpdate FROM UF_EveryMrpPlanningDetail group by CreateDate order by CreateDate desc //also can be this PublicFunction.DropDown_List(DropDownList_MrpDate, sqlstr, 1); } protected void But_Check_Click(object sender, EventArgs e) { if (TextBox1.Text == "") { Itemfrom = ""; } else { Itemfrom = TextBox1.Text; } if (TextBox2.Text == "") {Itemto = "ZZZZZZZZZZZZZZ";}else{Itemto = TextBox2.Text;} Mrpdate=DropDownList_MrpDate.SelectedItem.Text; PublicVar.sqlstr = "select item,DueDateDay,QtyOnHand,QtyRecv,QtyReq,ExceptMessage,MrpRef,Parent,Lead_time,order_min,order_mult,days_supply,PriVendNum,ReplenPoNum,ProcessDueDate,ProcessQtyReq,ProcessVendNum,RecordDate,UpdateBy,CreateDate from UF_EveryMrpPlanningDetail "; sql = PublicVar.sqlstr + "where convert(varchar(10),CreateDate,120)>=" + "convert(varchar(10)," + Mrpdate+ ",120)" + "and item >='" + Itemfrom + "'and item<='" + Itemto + "'"; Bind(); } protected void Bind() {
//string DBConfig_sql = "Data Source=syteline;Initial Catalog=SHAT_App;Persist Security Info=True;User ID=SA;Password=SVTEP";//连接到指定数据库 string DBConfig_sql = PublicVar.strCon; DataSet ds = new DataSet(); SqlConnection sqlCon = new SqlConnection(DBConfig_sql); SqlCommand sqlCmd = new SqlCommand(sql, sqlCon); SqlDataAdapter sqlAd = new SqlDataAdapter(); sqlAd.SelectCommand = sqlCmd; sqlAd.Fill(ds, "sql"); //CrystalReportSource1.ReportDocument.Load(Server.MapPath("HandQty.rpt")); //注意此处必需指明Dataset中的表的名称,否则会提示“您请求的报表需要更多信息.” CrystalReportSource1.ReportDocument.SetDataSource(ds.Tables["sql"]); //{?}中的参数可以不用赋值,即使赋了值也不起作用。 // CrystalReportSource1.ReportDocument.ParameterFields["Parm"].CurrentValues.AddValue("1234567"); //CrystalReportSource1.ReportDocument.ParameterFields["Title"].CurrentValues.AddValue("这时推模式的报表样例!"); CrystalReportSource1.DataBind();
CrystalReportViewer1.ReportSource = CrystalReportSource1; CrystalReportViewer1.DataBind();
} }
------------------------------------------------------------------------------------------------------------------------------- 2.水晶报表调用存储过程示例子:
-------------------------------------------------------------------------------------------------------
using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Data.SqlClient; using System.Drawing; using System.IO; using System.Text; using CrystalDecisions.Shared; using CrystalDecisions.CrystalReports.Engine; using CrystalDecisions.ReportSource;
public partial class HandQty : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) {
if (!IsPostBack) {
CrystalReportSource1.ReportDocument.SetDatabaseLogon(PublicVar.UserID, PublicVar.PW, PublicVar.DS, PublicVar.DB);//取得公共变量 CrystalReportSource1.ReportDocument.SetParameterValue("@item", null); CrystalReportSource1.DataBind();
} }
protected void Button1_Click(object sender, EventArgs e) { CrystalReportSource1.ReportDocument.SetDatabaseLogon(PublicVar.UserID, PublicVar.PW, PublicVar.DS, PublicVar.DB);//取得公共变量 CrystalReportSource1.ReportDocument.SetParameterValue("@item", TextBox1.Text); CrystalReportSource1.DataBind(); }
}
--------------------------------------------------------------------------------------------------------------------------
CrystalReportSource1.ReportDocument.SetDatabaseLogon(PublicVar.UserID, PublicVar.PW, PublicVar.DS, PublicVar.DB);--连接数据库 CrystalReportSource1.ReportDocument.SetParameterValue("@item", TextBox1.Text);---传入存储过程的参数 CrystalReportSource1.DataBind();--邦定到数据源