资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,C#,程序设计,主编 杨克玉 阮进军,第九章,水晶报表设计,与,与产品发布,本章任务,能使用水晶报,表,表设计器设计,报,报表,能在报表中设,置,置数据筛选、,排,排序与分组,能通过创建安,装,装项目的方法,进,进行应用程序,打,打包,任务,9.1“,学生信息管理,系,系统”项目,学生成绩报表,设,设计,在前面介绍的,任,任务,8.3,框架的基础上,,,,添加一个窗,体,体到“学生信,息,息管理系统”,项,项目的表示层,项,项目中,用于,显,显示成绩查询,报,报表。在查询,条,条件中输入相,应,应的条件后单,击,击“生成报表,”,”按钮,在窗,体,体右侧的报表,显,显示控件中将,会,会显示符合条,件,件的学生成绩,信,信息,任务,9.1“,学生信息管理,系,系统”项目,学生成绩报表,设,设计,在本任务中我,们,们使用了,CrystalReportViewer,控件来显示报,表,表,使用报表,设,设计器设计了,报,报表的格式,,并,并完成了基于,三,三层架构为报,表,表提供动态的,数,数据源代码的,编,编写。水晶报,表,表设计器不仅,提,提供了设计报,表,表格式的工具,,,,同时它还能,实,实现报表数据,的,的排序、筛选,和,和分组显示等,功,功能,在,数,数,据,据,库,库,中,中,添,添,加,加,表,表,和,和,视,视,图,图,创,建,建,报,报,表,表,显,显,示,示,窗,窗,体,体,在,“,“,学,学,生,生,信,信,息,息,管,管,理,理,系,系,统,统,”,”,的,的,表,表,示,示,层,层,项,项,目,目,中,中,,,,,添,添,加,加,一,一,个,个,窗,窗,体,体,StuResultsReport,作,为,为,报,报,表,表,显,显,示,示,窗,窗,体,体,,,,,窗,窗,体,体,上,上,的,的,控,控,件,件,类,类,型,型,及,及,布,布,局,局,如,如,图,图,所,所,示,示,设,计,计,报,报,表,表,文,文,档,档,在,表,表,示,示,层,层,项,项,目,目,中,中,添,添,加,加,新,新,建,建,项,项,,,,,项,项,目,目,类,类,型,型,选,选,择,择,“,“,Reporting,”,”,,,模,模,板,板,选,选,择,择,“,“,Crystal,报,表,表,”,”,,,,,命,命,名,名,为,为,“,“,StuResultsReport,”,”,,,如,如,图,图,所,所,示,示,,,,,完,完,成,成,后,后,的,的,报,报,表,表,格,格,式,式,如,如,右,右,图,图,所,所,示,示,完,成,成,后,后,的,的,报,报,表,表,格,格,式,式,如,如,图,图,所,所,示,示,添,加,加,数,数,据,据,访,访,问,问,层,层,代,代,码,码,在,数,数,据,据,访,访,问,问,层,层,项,项,目,目,添,添,加,加,一,一,个,个,StuResaultDB.cs,类,,,,,在,在,该,该,类,类,中,中,设,设,计,计,一,一,个,个,GetStuResaults,(,),),方,方,法,法,,,,,用,用,于,于,实,实,现,现,返,返,回,回,一,一,个,个,DataTable,数,据,据,集,集,,,,,StuResaultDB.cs,类,代,代,码,码,如,如,下,下,publicclassStuResaultDB,publicDataTableGetStuResaults(stringsql),return DBHelper.GetDataSet(sql).Tables0;,添加业务,逻,逻辑层代,码,码,public classStuResaultService,StuResaultDBsrdb=newStuResaultDB();/实例化,一,一个数据,访,访问层类,对,对象,public DataTableGetStuResaultBysql(string sql),return srdb.GetStuResaults(sql);,在业务逻,辑,辑层项目,中,中添加一,个,个,StuResaultService.cs,类,设计,一,一个,GetStuResaultBysql,()方法,,,,用于为,数,数据访问,层,层提供服,务,务,代码,如,如下:,运行调试,代码编写,完,完成后按,F5,进行调试,,,,不输入,任,任何查询,条,条件,按,“,“生成成,绩,绩报表”,按,按钮,报,表,表运行结,果,果如图所,示,示,CrystalReportViewer控,件,件,属,性,属性,说明,DisplayToolbar,设置报表工具栏是显示还是隐藏,DisplayStatusBar,设置报表状态栏是显示还是隐藏,EnableToolTips,设置是否在报表查看器中显示工具栏,ReportSource,设置报表文档源,Crystal报,表,表设计器,报表数据,排,排序,记录排序,专,专家,记录排序,结,结果,报表数据,分,分组,2,、分组结,果,果,1,、组专家,对,对话框,报表数据,筛,筛选,1,、选择专,家,家对话框,2,、数据筛,选,选结果,在报表中,插,插入图表,1,、图表专,家,家对话框,2,、运行结,果,果,任务,9.2,“,“,学生信息,管,管理系统,”,”项目,应用程序,打,打包发布,将“学生,信,信息管理,系,系统”项,目,目打包发,布,布到其他,计,计算机上,,,,要求:,(,1,)能在桌,面,面和程序,菜,菜单中为,应,应用程序,创,创建快捷,方,方式并指,定,定快捷方,式,式的图标,;,;,(,2,)能创建,与,与应用程,序,序安装对,应,应的卸载,程,程序;,(,3,)能安装,系,系统数据,库,库。,创建安装,部,部署项目,添加项目,输,输出,生成安装,文,文件,添加程序,卸,卸载类,class Program,static voidMain(string args),string sysroot=System.Environment.SystemDirectory;,string productcode=95394279-B44B-4C36-8D5C-7AF496FF7EA0;,System.Diagnostics.Process.Start(sysroot+msiexec.exe,/x+productcode+/qr);,Program.cs,关键代码,:,:,添加快捷,方,方式及运,行,行结果,添加数据,安,安装程序,类,类,添加类代,码,码,/该方,法,法的功能,是,是创建附,加,加数据库,的,的SQL,操,操作语句,,,,请注意,底,底纹部分,的,的代码应,根,根据应用,程,程序中数,据,据库连接,、,、字符串,中,中的database的值,做,做相应的,改,改动,privatestring CreateSqlStr(),string sqlstr=;,string datafile=System.IO.Path.Combine(dbpath,StudentManagement.mdf);,string logfile=System.IO.Path.Combine(dbpath,StudentManagement_log.ldf);,sqlstr=exec sp_attach_dbNStudentManagement,N+datafile+,N+logfile+;,return sqlstr;,privatevoidExecuteSql(string DatabaseName,stringSqlStr),stringSqlConnectionStr=server=+servername+;uid=+username+;pwd=+password;,SqlConnection myConnection=newSqlConnection(SqlConnectionStr);,SqlCommand myCommand=newSqlCommand(SqlStr,myConnection);,myCommand.Connection.Open();,myCommand.Connection.ChangeDatabase(DatabaseName);,myCommand.ExecuteNonQuery();,myCommand.Connection.Close();,设计用,户,户界面,添加自,定,定义窗,体,体,项目运,行,行结果,谢,谢,谢!,演讲完,毕,毕,谢,谢,谢观看,!,!,
展开阅读全文