En SQL Server 2008, podemos definir un tipo de tabla y usarlo como parámetros de procedimientos almacenados. Pero, ¿cómo puedo usarlo en la invocación C# de este SP? En otras palabras, ¿cómo crear una tabla o lista y pasarla a Procedimiento almacenado en el código C# con esta nueva función de SQL Server 2008?Cómo pasar el tipo de tabla definida por el usuario como parámetro almacenado en C#
Respuesta
Necesita ver esto example on CodeProject.
SqlParameter param = cmd.Parameters.AddWithValue("@FileDetails", dt);
donde dt es un DataTable, y el parámetro @fileDetails es un tipo de tabla en SQL:
create type FileDetailsType as table
(
FileName varchar(50),
CreatedDate varchar(50),
Size decimal(18,0)
)
Editar: This MSDN Developer's Guide article también ayudaría.
La manera más fácil es pasando un DataTable
como parámetro. Vea algunos ejemplos here.
De Table-Valued Parameters, vinculado a en Jeff Meatball Yang's answer:
System.Data.SqlClient apoya poblar parámetros con valores de tabla de DataTable, DbDataReader o System.Collections.Generic.IEnumerable ([T: System.Collections.Generic .ENnumerable`1)] objetos. Debe especificar un nombre de tipo para el parámetro con valores de tabla utilizando la propiedad TypeName de un SqlParameter. El TypeName debe coincidir con el nombre de un tipo compatible creado previamente en el servidor. El siguiente fragmento de código muestra cómo configurar SqlParameter para insertar datos.
- 1. C#: pasar un tipo definido por el usuario a un procedimiento almacenado de Oracle
- 2. SQL dinámico (pasar el nombre de la tabla como parámetro)
- 3. inserción tipo de tabla definida por el usuario a veces causando error de conversión
- 4. Ejecutar procedimiento almacenado con valores de tabla como parámetro
- 5. Pasar parámetro de tabla definido por el usuario a sql dinámico, sp_executesql
- 6. ¿Cómo hacer una función que tome el tipo de tabla definido por el usuario como parámetro y devolverlo en sql?
- 7. C++ pasar enumeración como parámetro
- 8. Genere automáticamente un tipo de tabla definido por el usuario que coincida con una tabla existente
- 9. SQLServer no puede encontrar mi función definida por el usuario en el procedimiento almacenado
- 10. cómo declarar una distribución definida por el usuario en R
- 11. Cómo pasar un parámetro de valor de tabla
- 12. LINQ to SQL con procedimientos almacenados y el parámetro de tipo de tabla definido por el usuario
- 13. Puedo pasar el nombre de la columna como parámetro de entrada en SQL almacenado Procedimiento
- 14. definida por el usuario operador de conversión de clase base
- 15. ¿Cómo agregar un índice o clave principal a un tipo de tabla definida por el usuario en SQL Server?
- 16. C#: ¿se usa el tipo de "auto" como parámetro genérico?
- 17. ¿Cómo pasar array como parámetro en el método java?
- 18. Pasar matriz int como parámetro en control de usuario web
- 19. C++ 0x lambda, ¿cómo puedo pasar como parámetro?
- 20. Pasando la tabla Valor del parámetro para el procedimiento almacenado en diferentes bases de datos
- 21. cómo pasar el parámetro sql como valor nulo en la variable de tipo de datos entero?
- 22. estructura definida por el usuario no se puede pasar a través de tid.send
- 23. cómo pasar el archivo xml como parámetro en soapui
- 24. DESC y ASC como un parámetro en el procedimiento almacenado
- 25. Lista pasar como XElement para ser utilizado como parámetro de tipo de datos XML
- 26. C++ Pasar una clase como parámetro
- 27. ¿Hay alguna forma de mostrar una definición de tipo enumerada postgresql definida por el usuario?
- 28. TIPO definido por el usuario en bases de datos
- 29. Cómo pasar los parámetros de valor de la tabla al procedimiento almacenado desde el código .net
- 30. MySQL variable definida por el usuario en la cláusula WHERE