我是如何搞定复杂水晶报表的(4)
2009-11-27 22:40
176 查看
3、 业务逻辑层方法business.GetPaperMessage设计
该方法中引用的存储过程proc_fdpaper代码如下:
[align=left] /*******************************************************[/align] [align=left] **方 法 名:GetPaperMessage[/align] [align=left] **输 入参数:课程号码和班级号码,教师编号[/align] [align=left] **输 出参数:[/align] [align=left] **返 回 值:[/align] [align=left] **创 建 人:钱哨[/align] [align=left] **创 建日期:08-7-9[/align] [align=left] **描 述:通过存储过程获取试卷界面的参数信息。[/align] [align=left] *******************************************************/[/align] [align=left] public void GetPaperMessage(int cno, int bno, int tno, out string xqmess, out string cname, out string zy, out string nj, out string bname, out string tname, out string year1, out string month1, out string day1, out Int16 @clx_num, out string @clx_string, out int @ctime)[/align] [align=left] {[/align] [align=left] ///下面,开始实例化另一个命名空间的一个类[/align] [align=left] Mydatabase DB = new Mydatabase();[/align] [align=left] string sql = String.Format("exec proc_fdpaper " + cno + "," + bno + "," + tno + ",@xqmess output, @cname output,@zy output, @nj output,@bname output,@tname output,@year1 output,@month1 output,@day1 output,@clx_num output,@clx_string output,@ctime output");[/align] [align=left] //执行的T-SQL串[/align] [align=left] SqlCommand MyCommand = DB.GetProcCommand(sql);[/align] [align=left] MyCommand.Parameters.Add(new SqlParameter("@xqmess", SqlDbType.VarChar, 100));[/align] [align=left] MyCommand.Parameters.Add(new SqlParameter("@cname", SqlDbType.VarChar, 50));[/align] [align=left] MyCommand.Parameters.Add(new SqlParameter("@zy", SqlDbType.VarChar, 40));[/align] [align=left] MyCommand.Parameters.Add(new SqlParameter("@nj", SqlDbType.VarChar, 20));[/align] [align=left] MyCommand.Parameters.Add(new SqlParameter("@bname", SqlDbType.VarChar, 30));[/align] [align=left] MyCommand.Parameters.Add(new SqlParameter("@tname", SqlDbType.VarChar, 40));[/align] [align=left] MyCommand.Parameters.Add(new SqlParameter("@year1", SqlDbType.VarChar, 10));[/align] [align=left] MyCommand.Parameters.Add(new SqlParameter("@month1", SqlDbType.VarChar, 10));[/align] [align=left] MyCommand.Parameters.Add(new SqlParameter("@day1", SqlDbType.VarChar, 10));[/align] [align=left] MyCommand.Parameters.Add(new SqlParameter("@clx_num", SqlDbType.TinyInt));[/align] [align=left] MyCommand.Parameters.Add(new SqlParameter("@clx_string", SqlDbType.VarChar, 10));[/align] [align=left] MyCommand.Parameters.Add(new SqlParameter("@ctime", SqlDbType.Int));[/align] [align=left] [/align] [align=left] MyCommand.Parameters["@xqmess"].Direction = ParameterDirection.Output;[/align] [align=left] MyCommand.Parameters["@cname"].Direction = ParameterDirection.Output;[/align] [align=left] MyCommand.Parameters["@zy"].Direction = ParameterDirection.Output;[/align] [align=left] MyCommand.Parameters["@nj"].Direction = ParameterDirection.Output;[/align] [align=left] MyCommand.Parameters["@bname"].Direction = ParameterDirection.Output;[/align] [align=left] MyCommand.Parameters["@tname"].Direction = ParameterDirection.Output;[/align] [align=left] MyCommand.Parameters["@year1"].Direction = ParameterDirection.Output;[/align] [align=left] MyCommand.Parameters["@month1"].Direction = ParameterDirection.Output;[/align] [align=left] MyCommand.Parameters["@day1"].Direction = ParameterDirection.Output;[/align] [align=left] MyCommand.Parameters["@clx_num"].Direction = ParameterDirection.Output;[/align] [align=left] MyCommand.Parameters["@clx_string"].Direction = ParameterDirection.Output;[/align] [align=left] MyCommand.Parameters["@ctime"].Direction = ParameterDirection.Output;[/align] [align=left] [/align] [align=left] MyCommand.ExecuteNonQuery();[/align] [align=left] xqmess = Convert.ToString(MyCommand.Parameters["@xqmess"].Value); //接收输出的参数[/align] [align=left] cname = Convert.ToString(MyCommand.Parameters["@cname"].Value);[/align] [align=left] zy = Convert.ToString(MyCommand.Parameters["@zy"].Value);[/align] [align=left] nj = Convert.ToString(MyCommand.Parameters["@nj"].Value);[/align] [align=left] bname = Convert.ToString(MyCommand.Parameters["@bname"].Value);[/align] [align=left] tname = Convert.ToString(MyCommand.Parameters["@tname"].Value);[/align] [align=left] year1 = Convert.ToString(MyCommand.Parameters["@year1"].Value);[/align] [align=left] month1 = Convert.ToString(MyCommand.Parameters["@month1"].Value);[/align] [align=left] day1 = Convert.ToString(MyCommand.Parameters["@day1"].Value);[/align] [align=left] clx_num = Convert.ToInt16(MyCommand.Parameters["@clx_num"].Value);[/align] [align=left] clx_string = Convert.ToString(MyCommand.Parameters["@clx_string"].Value);[/align] [align=left] ctime = Convert.ToInt32(MyCommand.Parameters["@ctime"].Value);[/align] [align=left] DB.close();[/align] [align=left]}[/align] |
[align=left]create proc proc_fdpaper[/align] [align=left]--建立存储过程,显示改卷时候界面基本信息[/align] [align=left]@cno int,[/align] [align=left]@bno int,[/align] [align=left]@tno int,[/align] [align=left]@xqmess varchar(100) output,--学期信息[/align] [align=left]@cname varchar(50) output,[/align] [align=left]@zy varchar(40) output,[/align] [align=left]@nj varchar(20) output,[/align] [align=left]@bname varchar(30) output,[/align] [align=left]@tname varchar(40) output,[/align] [align=left]@year1 varchar(10) output,[/align] [align=left]@month1 varchar(10) output,[/align] [align=left]@day1 varchar(10) output,[/align] [align=left]@clx_num tinyint output,[/align] [align=left]@clx_string varchar(10) output,[/align] [align=left]@ctime int output[/align] [align=left]as[/align] [align=left] [/align] [align=left]select @xqmess=SUBSTRING(skxq,1,4)+'-'+cast((CAST (SUBSTRING(skxq,1,4) AS int)+1) as varchar(10))+'学年第'+SUBSTRING(skxq,5,1)+'学期' [/align] [align=left]from tc [/align] [align=left]where cno=@cno and bno=@bno[/align] [align=left] [/align] [align=left]select @tname=tname from teacher where tno=@tno[/align] [align=left] [/align] [align=left]select @cname=cname,@clx_num=clx,@ctime=ctime from course where cno=@cno[/align] [align=left] [/align] [align=left]set @clx_string=[/align] [align=left]case [/align] [align=left]when @clx_num=1 then '考查'[/align] [align=left]when @clx_num=2 then '实习'[/align] [align=left]when @clx_num=3 then '毕业论文'[/align] [align=left]when @clx_num=4 then '毕业实习'[/align] [align=left]else '考试'[/align] [align=left]end[/align] [align=left] [/align] [align=left]select @zy=zy,@nj=cast(year(btime) as varchar(20)),@bname=bname from class where bno=@bno[/align] [align=left] [/align] [align=left]select @year1=cast(year(getdate()) as varchar(10)),@month1=cast(month(getdate()) as varchar(10)),@day1=cast(day(getdate()) as varchar(10))[/align] [align=left] [/align] [align=left]GO[/align] |
相关文章推荐
- 我是如何搞定复杂水晶报表的(2)
- 我是如何搞定复杂水晶报表的(3)
- 我是如何搞定复杂水晶报表的(1)
- [VB.NET]如何在水晶报表里设置自定义纸张,如何在WinXP里设置纸张?
- 请教如何部署水晶报表?
- 如何在水晶报表中添加条形码-winform ,c#.net
- 如何将水晶报表(Crystal Report)导入葡萄城报表
- 如何部署包含水晶报表的程序 (转)
- 如何在.Net Web应用中使用水晶报表
- 在Delphi 中如何使用水晶报表
- [导入]如何部署包含水晶报表的程序
- 水晶报表如何导出为Excel文档
- 如何向水晶报表数据源中的存储过程传参数……
- 如何部署包含水晶报表的程序
- 如何部署包含水晶报表的程序
- 水晶报表的数据源为存储过程,现在存储过程新增加一个参数,如何更新水晶报表的parameters。
- 如何只显示特定的报表对象,而不是整个水晶报表……
- 如何为水晶报表 9 增加附加的许可证
- 如何找到最新的条形码字体,并在水晶报表显示?
- 水晶报表中如何动态加载图片(图片文件版本及数据库版本)