1.Output参数返回值

SqlServer如何获取存储过程的返回值_ide

1 CREATE PROCEDURE [dbo].[upInformation](  2 @age int ,  3 @id bigint OUTPUT  4 )  5 AS  6 BEGIN  7 SET NOCOUNT ON;  8 BEGIN  9 INSERT INTO [Information](age ) 10 VALUES (@age ) 11 SET @id = @@IDENTITY 12 END 13 END

SqlServer如何获取存储过程的返回值_ide

存储过程中获得方法:


1 DECLARE @age int 2 DECLARE @id bigint 3 EXEC [upInformation] @age,@id output



2.Return过程返回值

SqlServer如何获取存储过程的返回值_ide

1 CREATE PROCEDURE [dbo].[upInformation](  2 @age int ,  3 @id bigint OUTPUT  4 )  5 AS  6 BEGIN  7 SET NOCOUNT ON;  8 IF(EXISTS(SELECT * FROM [Shop] WHERE [s_id] = @age ))  9 BEGIN 10  INSERT INTO [Information](age ) VALUES (@age )  11  SET @id = @@IDENTITY  12  RETURN 1 — 插入成功返回1  13 END  14 ELSE  15  RETURN 0 — 插入失败返回0  16 END

SqlServer如何获取存储过程的返回值_ide

存储过程中获得方法:


1 DECLARE @age int 2 DECLARE @id bigint 3 DECLARE @result bit 4 EXEC @result = [upInformation] @age ,id output



3.Select数据集返回值

SqlServer如何获取存储过程的返回值_ide

1 CREATE PROCEDURE [dbo].[upInformation]( 2 @id int 3 ) 4 AS 5 BEGIN 6 SET NOCOUNT ON; 7 SELECT id,age FROM [Information] 8 WHERE id = @id 9 GO

SqlServer如何获取存储过程的返回值_ide

存储过程中获得方法:(使用临时表)

SqlServer如何获取存储过程的返回值_ide

1 CREATE TABLE [dbo].[Temp]( 2 [id] [bigint] IDENTITY(1,1) NOT FOR REPLICATION NOT NULL, 3 [age] [int] NOT NULL 4 ) 5 INSERT [Temp] EXEC [nb_order_select] @id 6 – 这时 Temp 就是EXEC执行SELECT 后的结果集 7 SELECT * FROM [Temp] 8 DROP [Temp] — 删除临时表

SqlServer如何获取存储过程的返回值_ide


C#获取Return返回值

SqlServer如何获取存储过程的返回值_ide

1 SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnStr"].ToString());  2 conn.Open();  3 SqlCommand MyCommand = new SqlCommand("upInformation", conn);  //存储过程名字  4 MyCommand.CommandType = CommandType.StoredProcedure;   //指定类型为存储过程  5 MyCommand.Parameters.Add(new SqlParameter("@a", SqlDbType.Int));  6 MyCommand.Parameters["@a"].Value = 10;  7 MyCommand.Parameters.Add(new SqlParameter("@b", SqlDbType.Int));  8 MyCommand.Parameters["@b"].Value = 20;  9 MyCommand.Parameters.Add(new SqlParameter("@return", SqlDbType.Int)); 10 MyCommand.Parameters["@return"].Direction = ParameterDirection.ReturnValue; 11 MyCommand.ExecuteNonQuery();                //执行存储过程 12 Response.Write(MyCommand.Parameters["@return"].Value.ToString()); //取得return的返回值

SqlServer如何获取存储过程的返回值_ide


C#获取Output输出参数值

SqlServer如何获取存储过程的返回值_ide

1 SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnStr"].ToString());  2 conn.Open();  3 SqlCommand MyCommand = new SqlCommand("upInformation", conn);  4 MyCommand.CommandType = CommandType.StoredProcedure;  5 MyCommand.Parameters.Add(new SqlParameter("@a", SqlDbType.Int));  6 MyCommand.Parameters["@a"].Value = 20;  7 MyCommand.Parameters.Add(new SqlParameter("@b", SqlDbType.Int));  8 MyCommand.Parameters["@b"].Value = 20;  9 MyCommand.Parameters.Add(new SqlParameter("@c", SqlDbType.Int)); 10 MyCommand.Parameters["@c"].Direction = ParameterDirection.Output; 11 MyCommand.ExecuteNonQuery(); 12 Response.Write(MyCommand.Parameters["@c"].Value.ToString()); //指定取得存储过程的返回值

SqlServer如何获取存储过程的返回值_ide


C#接收存储过程返回值

SqlServer如何获取存储过程的返回值_ide

1  public static int Information(User us)  2      {  3          int iRet;  4          SqlConnection conn = new SqlConnection(Conn_Str);  5          SqlCommand cmd = new SqlCommand("upInformation", conn);  6          cmd.CommandType = CommandType.StoredProcedure;   //指定存储过程  AddWithValue可以指定名称和值,而Add需要指定名称,类型,再给value  7          cmd.Parameters.AddWithValue("@UName", us.UName);  8          cmd.Parameters.AddWithValue("@UPass", us.UPass);  9          cmd.Parameters.AddWithValue("@PassQuestion", us.PassQuestion); 10          cmd.Parameters.AddWithValue("@PassKey", us.PassKey); 11          cmd.Parameters.AddWithValue("@Email", us.Email); 12          cmd.Parameters.AddWithValue("@RName", us.RName); 13          cmd.Parameters.AddWithValue("@Area", us.Area); 14          cmd.Parameters.AddWithValue("@Address", us.Address); 15          cmd.Parameters.AddWithValue("@ZipCodes", us.ZipCodes); 16          cmd.Parameters.AddWithValue("@Phone", us.Phone); 17          cmd.Parameters.AddWithValue("@QQ", us.QQ); 18          cmd.Parameters.Add("@RETURN_VALUE", "").Direction = ParameterDirection.ReturnValue;   //指定输出参数是返回值     19          try 20          { 21              conn.Open(); 22              cmd.ExecuteNonQuery();                   //执行存储过程 23              iRet = (int)cmd.Parameters["@RETURN_VALUE"].Value;    //取得return的值 24          } 25          catch (SqlException ex) 26          { 27              throw ex; 28          } 29          finally 30          { 31              conn.Close(); 32          } 33          return iRet; 34      }

SqlServer如何获取存储过程的返回值_ide


C#接收存储过程的输出参数

SqlServer如何获取存储过程的返回值_ide

1 public static decimal Cart_UserAmount(int UID)  2     {  3         decimal iRet;  4         SqlConnection conn = new SqlConnection(Conn_Str);  5         SqlCommand cmd = new SqlCommand("Cart_UserAmount", conn);  6         cmd.CommandType = CommandType.StoredProcedure;  7         cmd.Parameters.AddWithValue("@UID", UID);  8         cmd.Parameters.Add("@Amount", SqlDbType.Decimal).Direction=ParameterDirection.Output;  //利用Add方法为其添加名称,类型和输出参数  9         try 10         { 11             conn.Open(); 12             cmd.ExecuteNonQuery(); 13             iRet = (decimal)cmd.Parameters["@Amount"].Value;  //取得存储过程中的输出参数 14         } 15         catch (SqlException ex) 16         { 17             throw ex; 18         } 19         finally 20         { 21             conn.Close(); 22         } 23         return iRet; 24     }

SqlServer如何获取存储过程的返回值_ide


C#取得结果集

SqlServer如何获取存储过程的返回值_ide

1 string sqlw = string.Format("exec sp_UserInfo {0}", uid);  2             DataTable dsuser = SqlConn.GetDataSet(sqlw).Tables[0];  3   4  public static DataSet GetDataSet(string sql)  5         {  6             string connStr = System.Configuration.ConfigurationManager.ConnectionStrings["ConnStr"].ToString();  7             SqlConnection conn = new SqlConnection(connStr);  8             SqlCommand cmd = new SqlCommand(sql, conn);  9             SqlDataAdapter da = new SqlDataAdapter(cmd);  //直接用SqlDataAdapter将结果集取出来放入dataset中 10             DataSet ds = new DataSet(); 11             da.Fill(ds); 12             conn.Close(); 13             cmd.Dispose(); 14             return ds; 15         }

SqlServer如何获取存储过程的返回值_ide

SqlServer如何获取存储过程的返回值_sql_19