存储过程:
use onenight
go
if(exists(select * from sysobjects where name='comeoninsert'))
drop proc comeoninsert
go
create proc comeoninsert
 @mess varchar(10) output,
 @name varchar(20),
 @age int
 
as
insert into comeon values(@name,@age)
if(@@error>0)
begin
set @mess='失败'
end
else
begin
set @mess='成功'
end
生成是成功!!
查看存储过程---参数里面没有 @mess output?!!

后台代码:
            string name = txtname.Text;
            int age = int.Parse(txtage.Text);
            string connStr = "Data Source=.;Initial Catalog=onenight; User Id=sa;Pwd=sa";
            SqlConnection conn = new SqlConnection(connStr);
            conn.Open();
            SqlCommand cmd = new SqlCommand("pro_comeoninsert", conn);
                                                
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.Add("@name", SqlDbType.VarChar, 20).Value = name;
            cmd.Parameters.Add("@age", SqlDbType.Int).Value = age;
           // 获得输出参数
            cmd.Parameters.Add("@mess", SqlDbType.VarChar, 10);
            cmd.Parameters["@mess"].Direction = ParameterDirection.Output;

             cmd.ExecuteNonQuery();//错误:为过程或函数 pro_comeoninsert 指定了过多的参数。
          
            string getmess = (string)cmd.Parameters["@mess"].Value;
            conn.Close();
            MessageBox.Show("插入成功" + getmess);到底哪里错了呢?!