存储过程返回值的一个小问题
//存储过程 
 alter   proc   test 
 @t   int   output 
 as 
 set   @t=6 
 go 
 drop   proc   test   
 //调用代码 
 SqlCommand   cmdPro   =   new   SqlCommand( "test ",   con); 
 cmdPro.CommandType   =   CommandType.StoredProcedure;   
 SqlParameter   sqlpar; 
 sqlpar   =   cmdPro.Parameters.Add( "@i ",   SqlDbType.Int); 
 sqlpar.Direction   =   ParameterDirection.ReturnValue; 
 //这句错误,
未将对象引用设置到对象的实例  MessageBox.Show(cmdPro.Parameters[ "@i "].Value.ToString()); 
 关键是取不到返回的值,真是急呀, 
------解决方案--------------------修改一: 
 把 
 sqlpar.Direction = ParameterDirection.ReturnValue; 
 改为 
 sqlpar.Direction = ParameterDirection.Output;   
 修改二: 
 需要在执行完毕后再去访问输出参数的值。
------解决方案--------------------try..   
 SqlParameter sqlpar; 
 sqlpar = cmdPro.Parameters.Add( "@i ", SqlDbType.Int); 
 sqlpar.Direction = ParameterDirection.Output; 
 cmdPro.Parameters.Add(sqlpar);//将参数添加到命令对象 
------解决方案--------------------sorry..   
 SqlParameter sqlpar = new SqlParameter( "@i ", SqlDbType.Int); 
 sqlpar.Direction = ParameterDirection.Output; 
 cmdPro.Parameters.Add(sqlpar);//将参数添加到命令对象 
------解决方案--------------------修改存储过程也可: 
 create proc test 
 @t int output 
 as 
 set @t=6 
 return 6 
 go 
------解决方案--------------------帮顶了 !
------解决方案--------------------TO:这样不已经添加了吗?     
 是的,刚开始看错了..   
 现在问题解决了吗?
------解决方案--------------------还是说点:    
 为什么执行完了 就删除了呢   
 那样会找到存储过程么...
------解决方案--------------------SqlParameter sqlpar; 
 sqlpar = cmdPro.Parameters.Add( "@i ", SqlDbType.Int); 
 sqlpar.Direction = ParameterDirection.Output; 
 cmdPro.Parameters.Add(sqlpar);