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 に答える