将参数类型设置为OUTPUT
ex.
create proc UP_brand_add
@A0 varchar(20),
@A1 varchar(15),
@id int output
as 
insert into yyyManager values(@A0,@A1)
set @id= @@identity
return @id
程序中:
这是个很完整的写法。楼主可以取其中所需部分
       
    SqlParameter[] paras=new SqlParameter[3];
    paras[0]=new SqlParameter("@A0",SqlDbType.VarChar,20);
    paras[0].Value=你要赋的值;
    paras[1]=new SqlParameter("@A1",SqlDbType.VarChar,15);
    paras[1].Value=你要赋的值;
    paras[2]=new SqlParameter("@id",SqlDbType.Int);
    paras[2].Direction=ParameterDirection.Output;    int id=db.ExecoutID("UP_brand_add",paras);
public string ExecoutID(string cmdtext,SqlParameter[] paras)
        {                
            if(conn.State!=ConnectionState.Open)
            {
                conn.Open();
            }
            SqlCommand cmd=new SqlCommand();
            cmd.Connection=conn;
            cmd.CommandText=cmdtext;
            cmd.CommandType=CommandType.StoredProcedure;
            string  newid=string.Empty;            
            if(paras!=null && paras.Length>0)
            {
                for(int i=0 ; i<paras.Length;i++)
                {
                    cmd.Parameters.Add(paras[i]);
                    
                }
            }
            try
            {            
                cmd.ExecuteNonQuery();
                if(paras!=null && paras.Length>0)
                {
                    for(int i=0 ; i<paras.Length;i++)
                    {
                        if(paras[i].Direction==ParameterDirection.Output)
                        {
                            newid=Convert.ToString(paras[i].Value);
                        }
                    
                    }
                }
                conn.Close();
                
                return newid;            }
            catch(System.Data.SqlClient.SqlException E)
            {                    
                conn.Close();
                throw new Exception(E.Message);
            }        }