¿Existe una forma sensata de obtener una lista de parámetros esperados de un SqlDataSource dado el nombre del procedimiento almacenado asignado a su propiedad SelectCommand?Obtener una lista de parámetros de un SQLDataSource dado Nombre de procedimiento almacenado
5
A
Respuesta
10
Puede usar el método SqlCommandBuilder.DeriveParameters para devolver información sobre los parámetros asociados con un procedimiento almacenado. Iteración en la colección le permitirá determinar el nombre del parámetro, tipo de datos, dirección, etc.
SqlCommand cmd = new SqlCommand();
SqlConnection conn = new SqlConnection("myConnectionString");
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "myStoredProcName";
cmd.Connection = conn;
conn.Open();
SqlCommandBuilder.DeriveParameters(cmd);
conn.Close();
SqlParameterCollection collection = cmd.Parameters;
Tome un vistazo a las definiciones SqlParameterCollection y SqlParameter clase para obtener más información.
0
no tengo VS.NET para probarlo, pero .Prepare() puede hacer esto para usted :)
O simplemente puede agregar los parámetros. :)
1
No estoy seguro de si puede hacerlo en el entorno de ADO.NET directamente, de alguna manera - pero siempre se podía consultar los "sys" puntos de vista del sistema para obtener esa información:
select * from sys.parameters
where object_id in
(select object_id from sys.procedures where name = 'YourSProc')
Marc
0
Y también con:
EXEC sp_sproc_columns 'YourSProc'
Cuestiones relacionadas
- 1. Pasar una matriz de parámetros a un procedimiento almacenado
- 2. Obtener los parámetros del procedimiento almacenado por C# o SQL?
- 3. ¿Cómo puedo recuperar una lista de parámetros de un procedimiento almacenado en SQL Server
- 4. procedimiento almacenado con número variable de parámetros
- 5. Procedimiento almacenado con parámetros "DONDE" opcionales
- 6. Obtener nombres/tipos de columna devueltos de un procedimiento almacenado
- 7. Ejecutar un procedimiento almacenado dentro de un procedimiento almacenado
- 8. Cómo llamar a un procedimiento almacenado (con parámetros) desde otro procedimiento almacenado sin tabla temporal
- 9. Nombre de objeto inválido - Procedimiento almacenado
- 10. Buscar procedimiento almacenado por nombre
- 11. Cómo llamar a un procedimiento almacenado desde otro procedimiento almacenado?
- 12. Llamar al procedimiento almacenado con los parámetros
- 13. ¿Cómo pasar una cantidad variable de parámetros a un procedimiento almacenado de SQL Server?
- 14. Uso de parámetros de salida de procedimiento almacenado en C#
- 15. Procedimiento almacenado de Oracle con parámetros para la cláusula IN
- 16. Procedimiento almacenado de MySQL con lista de argumentos variables
- 17. Cambiar el nombre de un procedimiento almacenado en SQL Server
- 18. Parámetros de salida de procedimiento almacenado en SQL Server Profiler
- 19. Problema de orden de parámetros al usar el procedimiento almacenado
- 20. Devolviendo múltiples valores de un procedimiento almacenado
- 21. Nombre de procedimiento almacenado dinámico linq a sql
- 22. Cómo obtener el valor devuelto de un procedimiento almacenado
- 23. ¿Utiliza el resultado de una expresión (por ejemplo, Llamada de función) en una lista de parámetros de procedimiento almacenado?
- 24. Procedimiento almacenado al ejecutar otro procedimiento almacenado
- 25. SQL Server 2008 procedimiento almacenado con múltiples parámetros de salida
- 26. Transacción de procedimiento almacenado
- 27. Pasar parámetros como Xml a un procedimiento almacenado
- 28. Procedimiento almacenado NULL Parámetro
- 29. Pasar matriz a un procedimiento almacenado
- 30. ¿Cómo obtener los parámetros de salida del procedimiento almacenado de MySQL en Rails?
excelente - gracias, eso es muy útil saber. –