Message设计
/*******************************************************
**方 法 名:GetPaperMessage
**输 入参数:课程号码和班级号码,教师编号
**输 出参数:
**返 回 值:
**创 建 人:钱哨
**创 建日期:08-7-9
**描 述:通过存储过程获取试卷界面的参数信息。
*******************************************************/
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)
{
///下面,开始实例化另一个命名空间的一个类
Mydatabase DB = new Mydatabase();
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");
//执行的T-SQL串
SqlCommand MyCommand = DB.GetProcCommand(sql);
MyCommand.Parameters.Add(new SqlParameter("@xqmess", SqlDbType.VarChar, 100));
MyCommand.Parameters.Add(new SqlParameter("@cname", SqlDbType.VarChar, 50));
MyCommand.Parameters.Add(new SqlParameter("@zy", SqlDbType.VarChar, 40));
MyCommand.Parameters.Add(new SqlParameter("@nj", SqlDbType.VarChar, 20));
MyCommand.Parameters.Add(new SqlParameter("@bname", SqlDbType.VarChar, 30));
MyCommand.Parameters.Add(new SqlParameter("@tname", SqlDbType.VarChar, 40));
MyCommand.Parameters.Add(new SqlParameter("@year1", SqlDbType.VarChar, 10));
MyCommand.Parameters.Add(new SqlParameter("@month1", SqlDbType.VarChar, 10));
MyCommand.Parameters.Add(new SqlParameter("@day1", SqlDbType.VarChar, 10));
MyCommand.Parameters.Add(new SqlParameter("@clx_num", SqlDbType.TinyInt));
MyCommand.Parameters.Add(new SqlParameter("@clx_string", SqlDbType.VarChar, 10));
MyCommand.Parameters.Add(new SqlParameter("@ctime", SqlDbType.Int));
MyCommand.Parameters["@xqmess"].Direction = ParameterDirection.Output;
MyCommand.Parameters["@cname"].Direction = ParameterDirection.Output;
MyCommand.Parameters["@zy"].Direction = ParameterDirection.Output;
MyCommand.Parameters["@nj"].Direction = ParameterDirection.Output;
MyCommand.Parameters["@bname"].Direction = ParameterDirection.Output;
MyCommand.Parameters["@tname"].Direction = ParameterDirection.Output;
MyCommand.Parameters["@year1"].Direction = ParameterDirection.Output;
MyCommand.Parameters["@month1"].Direction = ParameterDirection.Output;
MyCommand.Parameters["@day1"].Direction = ParameterDirection.Output;
MyCommand.Parameters["@clx_num"].Direction = ParameterDirection.Output;
MyCommand.Parameters["@clx_string"].Direction = ParameterDirection.Output;
MyCommand.Parameters["@ctime"].Direction = ParameterDirection.Output;
MyCommand.ExecuteNonQuery();
xqmess = Convert.ToString(MyCommand.Parameters["@xqmess"].Value); //接收输出的参数
cname = Convert.ToString(MyCommand.Parameters["@cname"].Value);
zy = Convert.ToString(MyCommand.Parameters["@zy"].Value);
nj = Convert.ToString(MyCommand.Parameters["@nj"].Value);
bname = Convert.ToString(MyCommand.Parameters["@bname"].Value);
tname = Convert.ToString(MyCommand.Parameters["@tname"].Value);
year1 = Convert.ToString(MyCommand.Parameters["@year1"].Value);
month1 = Convert.ToString(MyCommand.Parameters["@month1"].Value);
day1 = Convert.ToString(MyCommand.Parameters["@day1"].Value);
clx_num = Convert.ToInt16(MyCommand.Parameters["@clx_num"].Value);
clx_string = Convert.ToString(MyCommand.Parameters["@clx_string"].Value);
ctime = Convert.ToInt32(MyCommand.Parameters["@ctime"].Value);
DB.close();
}
|
该方法中引用的存储过程proc_fdpaper代码如下:
create proc proc_fdpaper
--建立存储过程,显示改卷时候界面基本信息
@cno int,
@bno int,
@tno int,
@xqmess varchar(100) output,--学期信息
@cname varchar(50) output,
@zy varchar(40) output,
@nj varchar(20) output,
@bname varchar(30) output,
@tname varchar(40) output,
@year1 varchar(10) output,
@month1 varchar(10) output,
@day1 varchar(10) output,
@clx_num tinyint output,
@clx_string varchar(10) output,
@ctime int output
as
select @xqmess=SUBSTRING(skxq,1,4)+'-'+cast((CAST (SUBSTRING(skxq,1,4) AS int)+1) as varchar(10))+'学年第'+SUBSTRING(skxq,5,1)+'学期'
from tc
where cno=@cno and bno=@bno
select @tname=tname from teacher where tno=@tno
select @cname=cname,@clx_num=clx,@ctime=ctime from course where cno=@cno
set @clx_string=
case
when @clx_num=1 then '考查'
when @clx_num=2 then '实习'
when @clx_num=3 then '毕业论文'
when @clx_num=4 then '毕业实习'
else '考试'
end
select @zy=zy,@nj=cast(year(btime) as varchar(20)),@bname=bname from class where bno=@bno
select @year1=cast(year(getdate()) as varchar(10)),@month1=cast(month(getdate()) as varchar(10)),@day1=cast(day(getdate()) as varchar(10))
GO
|
本文转自 qianshao 51CTO博客,原文链接:http://blog.51cto.com/qianshao/235684,如需转载请自行联系原作者