这是C#源代码:
 
private void button1_Click(object sender, EventArgs e)
        {
            SqlConnection conn = new SqlConnection("Data Source=PC-9512980355A0\\SQLEXPRESS2005;Initial Catalog=SalaryMS;User ID=sa;pwd=123");
            conn.Open();
            SqlCommand comm=conn.CreateCommand();
            comm.CommandType = CommandType.StoredProcedure;
            comm.CommandText = "workAttendance_select";
            //input parameter
            SqlParameter inpara = comm.Parameters.Add("@num",SqlDbType.SmallInt);
            inpara.Direction = ParameterDirection.Input;
            inpara.Value = 01;
            //output parameter
            SqlParameter outpara1 = comm.Parameters.Add("@jiaban", SqlDbType.SmallInt);
            outpara1.Direction = ParameterDirection.Output;
            SqlParameter outpara2 = comm.Parameters.Add("@kuang", SqlDbType.SmallInt);
            outpara2.Direction = ParameterDirection.Output;
            SqlParameter outpara3 = comm.Parameters.Add("@late", SqlDbType.SmallInt);
            outpara3.Direction = ParameterDirection.Output;
            SqlParameter outpara4 = comm.Parameters.Add("@zaotui", SqlDbType.SmallInt);
            outpara4.Direction = ParameterDirection.Output;
            comm.ExecuteNonQuery();
            //SqlDataReader myReader;
            //myReader = comm.ExecuteReader();
            dataGridView1.DataSource = pnshInfoBindingSource;
            GetData2("select * from pnshInfo");
            //myReader.Close();
            conn.Close();
        }这是我在Sql Server2005里建的存储过程:
ALTER PROCEDURE workAttendance_select

(
@num nchar,
@jiaban smallint output,
@kuang  smallint output,
@late  smallint output,
@zaotui smallint output 
)

AS  
    select @jiaban=加班 ,@kuang=旷工 ,@late=迟到,@zaotui=早退 from workAttendance,pnshInfo where pnshInfo.员工号=@num and workAttendance.员工号=pnshInfo.员工号;
/* SET NOCOUNT ON */
update pnshInfo set 奖罚金额=@jiaban*40-@kuang*30-@late*10-@zaotui*5 where 员工号=@num;
RETURN执行没报错,但数据库里的信息未被修改,这是哪的问题啊?