Это то, что я использую с SqlConnection,
using (var connection = new SqlConnection()) {
connection.ConnectionString = YourConnectingString;
using (var command = new SqlCommand(procedure, connection)) {
command.CommandType = CommandType.StoredProcedure;
command.Parameters.Add("@codigo", SqlDbType.Int).Value = int.Parse(codigof.Text);
connection.Open();
command.ExecuteNonQuery();
using (var da = new SqlDataAdapter(command)) {
da.Fill(_dt);
}
}
}
Как я уже говорил в разделе комментариев выше, я не знаком с PostgreSQL, поэтому я не могу точно сказать, является ли ваша хранимая процедура правильно ...
Я думаю, что ваша хранимая процедура должна объявить переменную @ codi go, как вы сделали для refcursor. И в коде
WHERE f.codigo = @codigo;