这是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执行没报错,但数据库里的信息未被修改,这是哪的问题啊?
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执行没报错,但数据库里的信息未被修改,这是哪的问题啊?
解决方案 »
- 为什么在线程中无法获取复制板上的数据
- 有vs.net2003 <=====> vc.net2005 工程转化工具吗?
- 如何获得画面事件?
- 怎么把一个System.Data.DataSet用XML格式写到一个内存流中去?
- C#输出数据时怎么空固定的字符位数?
- 请问怎么将EXCEL文件导入到DRID中,或者让他成生一个表也行
- Web页面中的用户控件中的按扭如何对Web页面进行操作?
- 频繁的访问数据库,sqlconnection可以一直open不close吗
- c#初学, 无法安装vs.net ide环境??
- 制作安装文件时如何把.net Framework一起打包?
- 求一款混淆器,不仅能重命名Type Definitions,还能重命名Type References
- 修改DataGridView控件单元格的内容,能够是对应的数据库表记录得到自动更新吗
inpara.Direction = ParameterDirection.Input;
inpara.Value = 01; 注意类型和长度