Wie rufe ich die Postgres-Funktion aus .NET auf?C#

Ein Treffpunkt für C#-Programmierer
Anonymous
 Wie rufe ich die Postgres-Funktion aus .NET auf?

Post by Anonymous »

Ich habe diesen Code ausprobiert:

Code: Select all

CREATE OR REPLACE FUNCTION public.t4(in iid int, OUT n1 text, OUT n2 text)
LANGUAGE plpgsql
AS $function$
BEGIN
SELECT DISTINCT n1=l.name, n2=l.comment from public.languages l where l.id=iid;
END;
$function$;

Code: Select all

 NpgsqlConnection connection = new NpgsqlConnection(ConString);
connection.Open();
NpgsqlCommand cmd = new NpgsqlCommand("SELECT * from public.t4()", connection);
cmd.Parameters.Add(new NpgsqlParameter("iid", DbType.Int32) { Direction = ParameterDirection.Input });
cmd.Parameters[0].Value = 18;
cmd.Parameters.Add(new NpgsqlParameter("n1", DbType.String) { Direction = ParameterDirection.Output });
cmd.Parameters.Add(new NpgsqlParameter("n2", DbType.String) { Direction = ParameterDirection.Output });
cmd.ExecuteNonQuery();
t1.Text = cmd.Parameters[1].Value.ToString();
t2.Text = cmd.Parameters[2].Value.ToString();
Und ich habe eine Fehlermeldung erhalten:

Npgsql.PostgresException: '42883: Funktion public.t4() existiert nicht.

Was mache ich falsch?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post