现在的位置: 首页 > 综合 > 正文

C#获取存储过程的Return返回值和Output输出参数值

2011年08月31日 ⁄ 综合 ⁄ 共 1578字 ⁄ 字号 评论关闭
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()); 

2.获取Output输出参数值 

程序代码 
//存储过程 
//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", conn); 
MyCommand.CommandType 
= CommandType.StoredProcedure; 
MyCommand.Parameters.Add(
new SqlParameter("@a", 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());

抱歉!评论已关闭.