将多列从C#传递到SQL Server中的用户定义的表类型,可以通过以下步骤实现:
CREATE TYPE MyTableType AS TABLE
(
Column1 INT,
Column2 VARCHAR(50)
)
DataTable table = new DataTable();
table.Columns.Add("Column1", typeof(int));
table.Columns.Add("Column2", typeof(string));
table.Rows.Add(1, "Value1");
table.Rows.Add(2, "Value2");
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
using (SqlCommand command = new SqlCommand("YourStoredProcedure", connection))
{
command.CommandType = CommandType.StoredProcedure;
SqlParameter parameter = command.Parameters.AddWithValue("@TableParam", table);
parameter.SqlDbType = SqlDbType.Structured;
parameter.TypeName = "dbo.MyTableType";
command.ExecuteNonQuery();
}
}
在上述示例中,@TableParam是存储过程的参数名,"dbo.MyTableType"是用户定义的表类型的名称。
总结: 将多列从C#传递到SQL Server中的用户定义的表类型,需要创建用户定义的表类型,并在C#中使用DataTable对象来表示该类型。然后,填充DataTable对象并将其作为参数传递给SQL Server中的存储过程或函数。这样可以实现将多列数据传递到SQL Server中的用户定义的表类型。
领取专属 10元无门槛券
手把手带您无忧上云