Método básico para llamar a un procedimiento almacenado y utilizar el valor de retorno.
Autor:Eve Cole
Fecha de actualización:2009-05-31 00:08:21
Nunca encontré una buena manera de hacer referencia a procedimientos almacenados con valores de retorno, lo que me hizo tomar muchos desvíos al agregar datos. Recientemente, después de consultar mucha información, finalmente encontré un buen método en una instancia de Microsoft.
Primero escriba un procedimiento almacenado con un valor de retorno
crear procedimiento nombre_proc
@para1 nchar(20), --parámetros de entrada
@para2 int = null out --parámetros de salida para uso del programa
como
establecer no contar en
si (no existe (seleccione * del empleado donde em_name=@para1 ))
comenzar
insertar en los valores del empleado (nombre) (@para1)
seleccione @para2=@@identidad: devuelve el ID del registro agregado
return 1: devuelve si los datos se agregaron correctamente
fin
demás
retorno 0 --fallo de retorno
ir
Luego está el método de llamar al procedimiento almacenado.
comando sqlcommand;
comando = nuevo sqlcommand(proc_name,new sqlconnection(connectionstr));
command.paraments.add("@para1"),"name1"); //Parámetros de entrada, nombre del empleado
command.paraments.add(new sqlparament("@para2", //Generar un parámetro de salida
SqlDbType.Int; //Tipo de datos del parámetro
ParamenterDirection.OutPut, //Tipo de entrada y salida
0,
0,
cadena.Vacío,
DataRowVerstion.Default,
null) //Valor del parámetro, requerido al ingresar parámetros
);
command.commandtype=commandtype.StoredProcedure;
comando.conexión.open();
comando.executenonQuery();
int pkid=(int)command.Parameters["@para2"].value //Obtener el valor del parámetro de salida
comando.conexión.cerrar();
Estos son los parámetros de salida de referencia. Si desea hacer referencia al valor de retorno (si los datos se agregaron correctamente), solo necesita cambiar el tipo de ParamenterDirection a valor de retorno y luego cambiar el nombre del parámetro usted mismo.