Hoy, un amigo me preguntó cómo obtener el valor de retorno del procedimiento almacenado en el bloque de aplicación de acceso a datos. Descubrí que este problema no se mencionaba en los artículos que escribí antes. Ahora me gustaría agregar que la solución específica es la siguiente. sigue:
1. Primero cree un procedimiento almacenado con un valor de retorno. Como ejemplo, simplemente crearé un procedimiento almacenado de la siguiente manera:
crear prueba de proceso
(
@idint
)
como
declarar @flag int
select * de la persona donde id=@id
si @@rowcount > 0
establecer @bandera = 1
demás
establecer @flag=0
devolver @flag
El método que utilizamos para obtener este valor de retorno en el programa es el siguiente:
[TestMethod]
TestReturnValue público vacío ()
{
Base de datos db = DatabaseFactory.CreateDatabase();
DbCommand dbcomm = db.GetStoredProcCommand("prueba");
db.AddInParameter(dbcomm, "@id", DbType.Int32,1);
//La clave está aquí, agrega un parámetro de tipo ReturnValue
db.AddParameter(dbcomm, "@RETURN_VALUE", DbType.String, ParameterDirection.ReturnValue, "", DataRowVersion.Current, null);
db.ExecuteNonQuery(dbcomm);
int testvalue = (int)dbcomm.Parameters["@RETURN_VALUE"].Value
;
}
A través del código anterior, podemos obtener el valor de retorno del procedimiento almacenado en el programa.
Puede que haya muchas cosas que no he mencionado en los artículos que escribí antes. Espero que más amigos puedan darme sus opiniones.