获得存储过程返回值

1.获取Return返回值
  程序代码//存储过程
//Create PROCEDURE MYSQL
//             @a int,
//             @b  int
//AS
//             return @a + @b
//GO
SqlConnection conn = new  SqlConnection(ConfigurationManager.ConnectionStrings["LocalSqlServer&quo

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());

 

 

 

使用企业库调用存储过程,并接受return 的返回值

String sql = "moveData";
mCMD = DB.GetStoredProcCommand(sql);
DB.AddInParameter(mCMD,"@State",DbType.Int32,2);
DB.AddParameter(mCMD, "@ret", DbType.Byte, ParameterDirection.ReturnValue,"",DataRowVersion.Default,null);

mCMD.Parameters["@ret"].Value

1.添加参数

public void AddParameter(DbCommand command, string name, DbType dbType, ParameterDirection direction, string sourceColumn, DataRowVersion sourceVersion, object value);

    DB.AddParameter(mCMD, "@return", DbType.Byte, ParameterDirection.ReturnValue,"",DataRowVersion.Default,null);

DB.AddParameter(mCMD, "@return", DbType.Byte, ParameterDirection.ReturnValue,NULL,DataRowVersion.Default,null);

说明:第二个为参数名必须为 @变量名 否则系统会自动添加

        ParameterDirection.ReturnValue    最关键指明去传回值

2.执行

    DB.ExecuteNonQuery(mCMD);

3.取值

DbType.Byte x= mCMD.Parameters["@return"].Value;

posted @ 2010-04-21 11:07  YaSin  阅读(872)  评论(0)    收藏  举报