Question

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?

Was it helpful?

Solution

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.

OTHER TIPS

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.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top