1. //create proc authors_count @outrus int output
  2. //as
  3. //declare @authors int
  4. //select @authors=count(*) from authors
  5. //set @outrus=@authors
  6. //return @authors
  7. System.Data.SqlClient.SqlConnection sqlcon=new System.Data.SqlClient.SqlConnection("server=(local);database=pubs;uid=sa;pwd=;");
  8. System.Data.SqlClient.SqlCommand sqlcmd=new System.Data.SqlClient.SqlCommand("authors_count",sqlcon);
  9. sqlcmd.CommandType=System.Data.CommandType.StoredProcedure;
  10. // sqlcmd.CommandText="authors_count";
  11. // sqlcmd.Connection=sqlcon;
  12. sqlcmd.Parameters.Add("@rus",System.Data.SqlDbType.Int);
  13. sqlcmd.Parameters.Add("@outrus",System.Data.SqlDbType.Int);
  14. sqlcmd.Parameters[0].Direction=System.Data.ParameterDirection.ReturnValue;
  15. sqlcmd.Parameters[1].Direction=System.Data.ParameterDirection.Output;
  16. sqlcon.Open();
  17. //int res=(int)sqlcmd.ExecuteNonQuery();//此时返回的不是存储过程的返回值,以上只是返回delete,update,insert所影响的行数
  18. sqlcmd.ExecuteNonQuery();
  19. string res=sqlcmd.Parameters[0].Value.ToString();//这样就可以得到存储过程的返回值
  20. sqlcon.Close();
  21. this.label1.Text="存储过程的返回值是:"+res.ToString();//由return 返回
  22. this.label2.Text="存储过程中返回的output值:"+sqlcmd.Parameters[1].Value.ToString();

09-22 02:42