小编Aja*_*tni的帖子

在 PostgreSQL 中将数据表作为参数传递

我在 asp.net C# 中有一个数据表。我想将该数据表作为表参数传递给 PostgreSQL 函数。这怎么可能?

下面的示例是相同的,但它在 SQL Server 中。我需要同样的东西,但问题是我有 PostgreSQL 作为后端,而不是 SQL Server。

介绍

SQL Server 存储过程支持 System.Data.DataTable 作为参数。我们可以使用 ADO.Net 以与使用 System.Data.SqlParameter 类相同的方式将 DataTable 传递给存储过程,但需要对数据类型进行一些更改。通常我们为varchar、nvarchar、int 等普通参数提供SqlParameter 的DbType,如下面的代码所示。

SqlParameter sqlParam= new SqlParameter();  
sqlParam.ParameterName = "@StudentName";  
sqlParam.DbType = DbType.String;  
sqlParam.Value = StudentName;  
Run Code Online (Sandbox Code Playgroud)

但是在 Table 参数的情况下,我们不需要提供 DbType作为参数数据类型。我们需要提供SqlType而不是 DbType。

例子

SqlParameter Parameter = new SqlParameter;  
Parameter.ParameterName = "@PhoneBook";  
Parameter.SqlDbType = SqlDbType.Structured;  
Parameter.Value = PhoneTable;  
Run Code Online (Sandbox Code Playgroud)

下面的示例接收电话簿列表并使用 ADO.Net 将它们存储在数据库中。该示例从列表中检索电话簿详细信息并将它们存储到 DataTable 中,并将该表作为参数传递给名为 NewPhoneBook 的存储过程。

//Phone book list    
List<PhoneBook> PhoneBooks …
Run Code Online (Sandbox Code Playgroud)

postgresql c#

7
推荐指数
1
解决办法
1万
查看次数

标签 统计

c# ×1

postgresql ×1