|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
因此我们的保存数据方法就是:在删除的动作开始之前,把表数据备份起来,然后留一个空表,在空表上执行“删除”操作。OutPut是一个输入参数范例,起首我们要分明OutPut范例的参数与Return值纷歧样。我们将存储过程当中的某一个或多个参数提定为OutPut范例,然后在存储历程外部更新这些参数,再在存储历程内部猎取这些参数值就能够了。这有点相似于C#中的ref,out范例的参数。
上面我们分离以在sql中与C#中猎取OutPut输入参数值各举一个复杂的例子。
一,在sql中猎取存储过程当中OutPut输入参数值
1,先创立一个测试的存储历程:
createproceduresp_test
@IDintoutput,
@Namevarchar(50)output
as
set@ID=1000
set@Name=.net进修网
2,然后挪用该存储历程
declare@IDint
declare@Namevarchar(50)
executesp_test@IDoutput,@Nameoutput
select@IDasID号,@Nameas姓名
实行的了局是:
ID号姓名
1000.net进修网
必要注重的是,在实行存储历程的时分,必定要为参数@ID与@Name指明output范例,要否则是得不到存储历程的输入值的。
二,在C#中猎取存储过程当中OutPut输入参数值
仍是使用下面创立的sp_test,如今我们在C#中实行下面的sp_test,然后取回@ID和@Name的值。
publicstaticvoidPagiNation()
{
SqlParameter[]parameters=newSqlParameter[2];
parameters[0]=newSqlParameter("@ID",SqlDbType.Int,4);
parameters[0].Direction=ParameterDirection.Output;
parameters[1]=newSqlParameter("@Name",SqlDbType.VarChar,50);
parameters[1].Direction=ParameterDirection.Output;
/*
实行sp_test,代码略
实行完成后parameters[0].Value就即是1000,parameters[1].Value就即是".net进修网"了。
*/
}
从下面的代码中能够看到,我们只需在传参前将对应参数的范例设置为ParameterDirection.Output,实行完sql后,再取回对应参数的value就能够了。MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQLAB公司。目前MySQL被广泛地应用在Internet上的中小型网站中。 |
|