2

我正在使用要转换为使用 .NET 的 Pgsql 的代码。我想调用具有多个参数的存储函数,但我想按名称绑定参数,如下所示:

NpgsqlCommand command = new NpgsqlCommand("\"StoredFunction\"", _Connection)
command.CommandType = CommandType.StoredProcedure;
command.Parameters.Add("param2", value2);
command.PArameters.Add("param1", value1);

到目前为止,尝试执行此操作以查找参数类型匹配的函数,该函数按照我将参数添加到集合中的顺序,而不是按名称匹配。

Npgsql 是否可以按名称将参数绑定到存储的函数?

4

2 回答 2

3

目前 Npgsql 不支持按名称传递参数。虽然它支持按名称接收参数值。

你介意填写一份关于此的错误报告吗?所以我们可以跟踪和实施它。

于 2010-03-05T18:14:43.697 回答
3

不幸的是,它不适用于存储过程 (CommandType.StoredProcedure)。

它使用 SQL 文本命令 (CommandType.Text)。您可以使用 :paramname,而且我认为在最新版本中您可以使用 parameters.addwithvalue(":paramname", param)。

您还可以将 @paramname 与最新版本(如 MS Sql Server)一起使用。

阅读本手册的“在查询中使用参数”部分以回答您最初的问题 - 但请记住我上面所说的内容,以使您的生活更轻松。

于 2010-04-23T14:39:29.840 回答