Как вызвать функции postgresql на языке C#
ПРИВЕТ,
Как вызвать этот тип запроса в c#
CREATE OR REPLACE FUNCTION kiadb_fngetdetailsbyvariousparam(ind_zone text,dst text,nmind text,ind text,implst text,rsvr text,n34b text,prjapr text) RETURNS SETOF RECORD AS $BODY$ DECLARE sql text; BEGIN sql:='select indzone,dstr,nmindar,plno,pltar,nmalt from plotboundary where indzone='|| quote_literal(ind_zone)||' AND indx='|| quote_literal(ind); IF dst IS NOT NULL THEN sql := sql || ' AND '; sql := sql ||' dstr = ' || quote_literal(dst); END IF; IF nmind IS NOT NULL THEN sql := sql || ' AND '; sql := sql ||' nmindar = ' || quote_literal(nmind); END IF; IF implst IS NOT NULL THEN sql := sql || ' AND '; sql := sql ||' implst = ' || quote_literal(implst); END IF; IF rsvr IS NOT NULL THEN sql := sql || ' AND '; sql := sql ||' rsvr = ' || quote_literal(rsvr); END IF; IF n34b IS NOT NULL THEN sql := sql || ' AND '; sql := sql ||' n34b = ' || quote_literal(n34b); END IF; IF prjapr IS NOT NULL THEN sql := sql || ' AND '; sql := sql ||' prjapr = ' || quote_literal(prjapr); END IF; RETURN QUERY EXECUTE sql; END; $BODY$ LANGUAGE plpgsql VOLATILE COST 100; ALTER FUNCTION kiadb_fngetdetailsbyvariousparam( text, text, text, text, text, text, text, text) OWNER TO postgres;
вызов в postgresql
select * from kiadb_fngetdetailsbyvariousparam('Tumakuru Zone',null,null,'Allotted','Yet to Start','General','No','DLSWCC') AS t(indzone character varying,dstr character varying,nmindar character varying,plno character varying,pltar double precision,nmalt character varying);
отлично работает в базе данных, но я хочу назвать это на c#.Как это сделать
Что я уже пробовал:
Я пытаюсь вызвать функцию на языке Си#
DataTable dt = pgHelper.ExecuteParamerizedSelectCommand("select * from kiadb_fngetdetailsbyvariousparam AS t(indzone character varying,dstr character varying,nmindar character varying,plno character varying,pltar double precision,nmalt character varying) ", CommandType.Text, parms);
я получаю ошибку, как будто функция не существует
Kornfeld Eliyahu Peter
Вы должны отладить свой код и поймать последний запрос, отправленный в pgSQL, чтобы увидеть, что пошло не так (возможно, ваш метод ExecuteParamerizedSelectCommand что-то испортил)...