我开始写的存储过程如下:create or replace procedure sp_GetOrderInf(
p_companyname in varchar2,
p_department in varchar2,
p_year in varchar2,
p_updown in varchar2 )
is
v_mouthflag number;
v_staffid number;
v_staffname varchar2(20);
v_worktype varchar2(20);
v_laborguardname varchar2(20);
v_formertime varchar2(20);
v_nexttime varchar2(20);
v_typename varchar2(20);
begin
if p_updown='上半年' then
select staffid,staffname,worktype, laborguardname,formertime,nexttime,typename
into v_staffid , v_staffname,v_worktype,v_laborguardname,v_formertime,v_nexttime,v_typename
from all_inportanttable where companyname=p_companyname and departmentname=p_department
and TO_CHAR(nexttime,'YYYY')=to_number(p_year) and TO_CHAR(nexttime,'MM') between 1 and 6 ;
else
select staffid,staffname,worktype, laborguardname,formertime,nexttime,typename
into v_staffid , v_staffname,v_worktype,v_laborguardname,v_formertime,v_nexttime,v_typename
from all_inportanttable where companyname=p_companyname and departmentname=p_department
and TO_CHAR(nexttime,'YYYY')=to_number(p_year) and TO_CHAR(nexttime,'MM') between 7 and 12 ;
end if;
end sp_GetOrderInf;
现在的问题就是用 select -- into -- 这中形式只能返回一行记录,否则在.NET中调用的时候就回出错,而实际上是返回多行,我是想把返回的多行记录绑定到DataGrid上,要是返回多行应该杂写呢 ???
p_companyname in varchar2,
p_department in varchar2,
p_year in varchar2,
p_updown in varchar2 )
is
v_mouthflag number;
v_staffid number;
v_staffname varchar2(20);
v_worktype varchar2(20);
v_laborguardname varchar2(20);
v_formertime varchar2(20);
v_nexttime varchar2(20);
v_typename varchar2(20);
begin
if p_updown='上半年' then
select staffid,staffname,worktype, laborguardname,formertime,nexttime,typename
into v_staffid , v_staffname,v_worktype,v_laborguardname,v_formertime,v_nexttime,v_typename
from all_inportanttable where companyname=p_companyname and departmentname=p_department
and TO_CHAR(nexttime,'YYYY')=to_number(p_year) and TO_CHAR(nexttime,'MM') between 1 and 6 ;
else
select staffid,staffname,worktype, laborguardname,formertime,nexttime,typename
into v_staffid , v_staffname,v_worktype,v_laborguardname,v_formertime,v_nexttime,v_typename
from all_inportanttable where companyname=p_companyname and departmentname=p_department
and TO_CHAR(nexttime,'YYYY')=to_number(p_year) and TO_CHAR(nexttime,'MM') between 7 and 12 ;
end if;
end sp_GetOrderInf;
现在的问题就是用 select -- into -- 这中形式只能返回一行记录,否则在.NET中调用的时候就回出错,而实际上是返回多行,我是想把返回的多行记录绑定到DataGrid上,要是返回多行应该杂写呢 ???
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货