在SQL Server 2008中,我们可以定义一个表类型并将其用作存储过程的参数。 但是如何在C#调用这个SP中使用它?换句话说,如何使用SQL Server 2008的这一新功能创建表或列表并将其传递到C#代码中的存储过程?如何将用户定义表类型作为存储过程参数传递给C#
20
A
回答
20
您需要看到此example on CodeProject。
SqlParameter param = cmd.Parameters.AddWithValue("@FileDetails", dt);
,其中DT是一个DataTable, 和@fileDetails参数是在SQL表类型:
create type FileDetailsType as table
(
FileName varchar(50),
CreatedDate varchar(50),
Size decimal(18,0)
)
编辑: This MSDN Developer's Guide article也会有所帮助。
2
最简单的方法是传递一个DataTable
作为参数。查看一些示例here。
0
从Table-Valued Parameters,挂在Jeff Meatball Yang's answer:
System.Data.SqlClient的支持填充从数据表,DbDataReader或System.Collections.Generic.IEnumerable表值参数([T:System.Collections.Generic .Inumerable`1)]对象。您必须使用SqlParameter的TypeName属性为表值参数指定一个类型名称。 TypeName必须与先前在服务器上创建的兼容类型的名称匹配。以下代码片段演示了如何配置SqlParameter以插入数据。
相关问题
- 1. 如何将表名作为参数传递给存储过程?
- 2. 如何将用户定义类型的数组传递给存储过程
- 3. 将IEnumerable <string>作为用户定义的表类型参数传递给SQL Server存储过程
- 4. ORACLE将用户定义的对象类型作为参数传递给过程
- 5. 如何将Datetime值作为参数传递给存储过程?
- 6. 将列表结构作为参数传递给存储过程
- 7. 将参数传递给存储过程
- 8. 将表类型传递给来自c#的存储过程?
- 9. C#Winforms - 如何将参数传递给SQL Server存储过程
- 10. 将函数作为参数传递给存储过程
- 11. CLR SQL用户定义类型传递给存储过程的ID列表
- 12. 如何将用户定义的类型作为输入传递给存储过程?
- 13. 使用用户定义的表类型作为存储过程的参数
- 14. 将变量作为参数传递给存储过程
- 15. 如何处理传递到存储过程的用户定义表类型的表值参数中的数据?
- 16. 如何在存储过程中将列作为参数传递?
- 17. 将表类型对象作为输入参数传递给Oracle中的存储过程C#
- 18. 如何将数据集传递给存储过程作为输入参数?
- 19. 如何将数组参数传递给存储过程?
- 20. 如何数据表列传递给存储过程作为参数
- 21. 传递参数给存储过程
- 22. 将参数传递给c中的sql存储过程#
- 23. 将C#参数传递给存储过程报告
- 24. 如何将下拉的连接值传递给存储过程作为参数
- 25. 如何将光标作为IN参数传递给存储过程
- 26. 如何将Ref游标作为参数传递给存储过程?
- 27. 如何将schema作为参数传递给sql server中的存储过程?
- 28. 如何将User和LogIn作为参数传递给存储过程?
- 29. 如何将多个值作为IN参数传递给存储过程?
- 30. 如何将参数传递给EF存储过程?