1.OUPUT参数返回值
CREATE PROCEDURE [dbo].[nb_order_insert]( @o_buyerid int,@o_id bigint OUTPUT ) AS BEGIN SET NOCOUNT ON; BEGIN INSERT INTO [Order](o_buyerid ) VALUES (@o_buyerid ) SET @o_id = @@IDENTITY END END
存储过程中获得方法:
@o_id bigint EXEC [ nb_order_insert ] ,@o_id output
2.RETURN过程返回值
存储过程中的获取方法
3.SELECT 数据集返回值
存储过程中的获取方法
(1)、使用临时表的方法

(2)、速度不怎么样.(不推荐)
1.获取Return返回值
//Create PROCEDURE MysqL
// @a int,
// @b int
//AS
// return @a + @b
//GO
sqlConnection conn = new sqlConnection(ConfigurationManager.ConnectionStrings["LocalsqlServer"].ToString());
conn.open();
sqlCommand MyCommand = new sqlCommand("MysqL",conn);
MyCommand.CommandType = CommandType.StoredProcedure;
MyCommand.Parameters.Add(new sqlParameter("@a",sqlDbType.Int));
MyCommand.Parameters["@a"].Value = 10;
MyCommand.Parameters.Add(new sqlParameter("@b",sqlDbType.Int));
MyCommand.Parameters["@b"].Value = 20;
MyCommand.Parameters.Add(new sqlParameter("@return",sqlDbType.Int));
MyCommand.Parameters["@return"].Direction = ParameterDirection.ReturnValue;
MyCommand.ExecuteNonQuery();
Response.Write(MyCommand.Parameters["@return"].Value.ToString());
//Create PROCEDURE MysqL
// @a int,
// @b int,
// @c int output
//AS
// Set @c = @a + @b
//GO
sqlConnection conn = new sqlConnection(ConfigurationManager.ConnectionStrings["LocalsqlServer"].ToString());
conn.open();
sqlCommand MyCommand = new sqlCommand("MysqL",sqlDbType.Int));
MyCommand.Parameters["@a"].Value = 20;
MyCommand.Parameters.Add(new sqlParameter("@b",sqlDbType.Int));
MyCommand.Parameters["@b"].Value = 20;
MyCommand.Parameters.Add(new sqlParameter("@c",sqlDbType.Int));
MyCommand.Parameters["@c"].Direction = ParameterDirection.Output;
MyCommand.ExecuteNonQuery();
Response.Write(MyCommand.Parameters["@c"].Value.ToString());
C#接收存储过程返回值:
public static int User_Add(User us)
{
int iRet;
sqlConnection conn = new sqlConnection(Conn_Str);
sqlCommand cmd = new sqlCommand("User_Add",conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@UName",us.UName);
cmd.Parameters.AddWithValue("@UPass",us.UPass);
cmd.Parameters.AddWithValue("@PassQuestion",us.PassQuestion);
cmd.Parameters.AddWithValue("@PassKey",us.PassKey);
cmd.Parameters.AddWithValue("@Email",us.Email);
cmd.Parameters.AddWithValue("@RName",us.RName);
cmd.Parameters.AddWithValue("@Area",us.Area);
cmd.Parameters.AddWithValue("@Address",us.Address);
cmd.Parameters.AddWithValue("@ZipCodes",us.ZipCodes);
cmd.Parameters.AddWithValue("@Phone",us.Phone);
cmd.Parameters.AddWithValue("@QQ",us.QQ);
cmd.Parameters.Add("@RETURN_VALUE","").Direction = ParameterDirection.ReturnValue;
try
{
conn.open();
cmd.ExecuteNonQuery();
iRet = (int)cmd.Parameters["@RETURN_VALUE"].Value;
}
catch (sqlException ex)
{
throw ex;
}
finally
{
conn.Close();
}
return iRet;
}
C#接收存储过程输出参数:
public static decimal Cart_UserAmount(int UID) { decimal iRet; sqlConnection conn = new sqlConnection(Conn_Str); sqlCommand cmd = new sqlCommand("Cart_UserAmount",conn); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@UID",UID); cmd.Parameters.Add("@Amount",sqlDbType.Decimal).Direction=ParameterDirection.Output; try { conn.open(); cmd.ExecuteNonQuery(); iRet = (decimal)cmd.Parameters["@Amount"].Value; } catch (sqlException ex) { throw ex; } finally { conn.Close(); } return iRet; }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。