C#中取得存储过程的返回值

来源:互联网 发布:部队网络安全保密教案 编辑:程序博客网 时间:2024/06/05 14:30
如下存储过程:  
  Create   Procedure   ProcLoginSystem  
  (  
  @Register char(20),  
  @PassCode char(15)  
  )  
  AS    
  Declare   @Pass   char(15)  
   
  Select   @Pass   =   Pass   from   Table_User  
  where   Register   =   @Register  
  if   @pass   =   @PassCode  
  Begin  
            return   0  
  End  
  else  
  return   -1  
  GO  
   
  程序代码实例:  
   
  string   connectionString   =   ConfigurationSettings.AppSettings.Get(   "sqlconnString"   );  
  string   procedureString   =   "ProcLoginSystem";  
   
  SqlConnection   mySqlConnection   =new   SqlConnection(connectionString);  
  SqlCommand   mySqlCommand   =   mySqlConnection.CreateCommand();  
  mySqlCommand.CommandText   =   procedureString;  
  mySqlCommand.CommandType   =   CommandType.StoredProcedure;  
   
  SqlParameter   param   =   new   SqlParameter();//关键部分!!  
  param.Direction   =   System.Data.ParameterDirection.ReturnValue;  
  mySqlCommand.Parameters.Add(param);        
   
  mySqlCommand.Parameters.Add("@Register",SqlDbType.Char,   20);  
  mySqlCommand.Parameters.Add("@Passcode",SqlDbType.Char,   15);  
  mySqlCommand.Parameters["@Register"].Value   =   Register;  
  mySqlCommand.Parameters["@Passcode"].Value   =   Pass;  
   
  try    
  {  
  mySqlConnection.Open();  
  mySqlCommand.ExecuteNonQuery();  
  }  
  catch    
  {  
  doredirect=false;  
  this.errorMessage.Visible=true;  
  this.errorMessage.Text="数据库连接错误!";  
  }  
  finally  
  {  
  mySqlConnection.Close();  
  }  
   
  int   nreturn=(int)param.Value;  
   
 
原创粉丝点击