delphi 调用存储过程报错,提示目前操作所使用的值是错误的类型 10
////存储过程CREATEORREPLACEFUNCTIONsn_check_carton_qty(car_nocharactervarying)RETURNSinte...
////存储过程
CREATE OR REPLACE FUNCTION sn_check_carton_qty(car_no character varying)
RETURNS integer AS
$BODY$
declare
i integer;
sql varchar;
begin
sql:='select count(*) from sn_check where carton_no='''||car_no||'''';
execute sql into i;
--i:=count(*);
return i;
end;
$BODY$
LANGUAGE plpgsql VOLATILE
/////调用方法
begin
sp1.Close;
sp1.ProcedureName:='sn_check_carton_qty';
sp1.Parameters.Refresh;
sp1.Parameters.CreateParameter('car_no',ftString, pdInput , 10,null);
sp1.Parameters.CreateParameter('return',ftInteger, pdOutput , 10,null);
sp1.Parameters[0].Value:='CSC4F5M2C22000000013';
sp1.prepared:=true;
sp1.Open;
edt1.Text:=IntToStr(sp1.Parameters.ParamByName('return').Value);
end; 展开
CREATE OR REPLACE FUNCTION sn_check_carton_qty(car_no character varying)
RETURNS integer AS
$BODY$
declare
i integer;
sql varchar;
begin
sql:='select count(*) from sn_check where carton_no='''||car_no||'''';
execute sql into i;
--i:=count(*);
return i;
end;
$BODY$
LANGUAGE plpgsql VOLATILE
/////调用方法
begin
sp1.Close;
sp1.ProcedureName:='sn_check_carton_qty';
sp1.Parameters.Refresh;
sp1.Parameters.CreateParameter('car_no',ftString, pdInput , 10,null);
sp1.Parameters.CreateParameter('return',ftInteger, pdOutput , 10,null);
sp1.Parameters[0].Value:='CSC4F5M2C22000000013';
sp1.prepared:=true;
sp1.Open;
edt1.Text:=IntToStr(sp1.Parameters.ParamByName('return').Value);
end; 展开
2个回答
展开全部
car_no应该是字符串类型,你把它声明成varchar(50)试试。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询