문제

I'm working with code I'm converting to Pgsql working with .NET. I want to call a stored function that has several parameters, but I'd like to bind the parameters by name, like so:

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

Attempts to do this so far look for a function with parameter types matching in the order in which I added the parameters to the collection, not by name.

Is it possible for Npgsql to bind parameters to stored functions by name?

도움이 되었습니까?

해결책

Currently Npgsql doesn't support pass parameters by name. Although it supports receiving out parameter values by name.

Would you mind to fill a bug report about that? So we can track and implement it.

다른 팁

Unfortunately it does not work with store procedure (CommandType.StoredProcedure).

It does with SQL-text command (CommandType.Text). You can use :paramname, plus I think in the latest version you can use parameters.addwithvalue(":paramname", param).

You can also use @paramname with the latest version (like MS Sql Server).

Read section "Using parameters in a query " of this manual for an answer to your original question - but remember what I said above to make your life easier.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top