public int ExecProcAdd() { SqlCommand cmd = new SqlCommand(); cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = "adduser";//拿到存储过程的名字//--------------------------------带参数的存储过程(3个)----------------------------------------- SqlParameter p1 = new SqlParameter("@username",typeof(string)); SqlParameter p2 = new SqlParameter("@userpwd",typeof(string));//----------------------------------------------------------------------------------------- //用sqldbtype.int不会出错,最好用它 SqlParameter p3 = new SqlParameter("@userid",SqlDbType.Int); //有返回值的存储过程 p3.Direction = ParameterDirection.Output; p1.Value = "张三";//给带的参数赋值 p2.Value = "123456"; //将其加入到 cmd.Parameters.Add(p1); cmd.Parameters.Add(p2); cmd.Parameters.Add(p3); cmd.Connection = Conn;//--------------------------------------------------------------------------------------- cmd.Connection.Open();//open connetion cmd.ExecuteNonQuery();/执行(调用)存储过程 执行(调用)存储过程int res = Convert.ToInt32( cmd.ExecuteScalar()); int res =(int)p3.Value;//接受存储过程所返回的值 cmd.Connection.Close(); return res; }