Процедура C# Postgres с параметрамиC#

Место общения программистов C#
Ответить
Anonymous
 Процедура C# Postgres с параметрами

Сообщение Anonymous »

Как вызвать процедуру pg с параметрами из C#?
100 примеров и другие статьи по теме НЕ работают. то есть (как мне вызвать хранимую процедуру PostgreSQL 13 из C#?)
вот мой очень простой пример:
таблица

Код: Выделить всё

    (col1 integer,
col2 character varying(20) )
процедура

Код: Выделить всё

    create procedure proc1 (num int, str varchar(20))
language plpgsql
as $$
begin
insert into test1 (col1, col2) VALUES (num, str);
commit;
end;$$;
код

Код: Выделить всё

    using var cmd = new NpgsqlCommand("CALL proc1()", _con);
cmd.Parameters.AddWithValue("num", NpgsqlDbType.Integer, 2);
cmd.Parameters.AddWithValue("str", NpgsqlDbType.Varchar, "string");

cmd.ExecuteNonQuery();
исключение: Npgsql.PostgresException: '42883: процедура proc1() не существует
POSITION: 6'
Я также создал proc2, у которого НЕТ параметров, и я могу его легко вызвать. Я также попробовал несколько вариантов «CALL proc1()», например «CALL proc1(num, str)», но эти исключения имеют еще меньше смысла, поскольку pg не может определить разницу между параметром и столбцом: «Npgsql.PostgresException: ' 42703: столбец «номер» не существует»

Подробнее здесь: https://stackoverflow.com/questions/785 ... parameters
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»